一次诡异的TCP连接异常分析
近期测试发现,项目中的ProxySvr从DatStore模块下载数据偶现失败,从返回的错误码来看,框架层提示网络错误,数据下载都是内网传输,带包ping测试rtt、丢包率正常,网络出问题的机率很小。
这种网络问题,通常就需要使用抓包工具tcpdump进行抓包来辅助分析,在ProxySvr上[……]
近期测试发现,项目中的ProxySvr从DatStore模块下载数据偶现失败,从返回的错误码来看,框架层提示网络错误,数据下载都是内网传输,带包ping测试rtt、丢包率正常,网络出问题的机率很小。
这种网络问题,通常就需要使用抓包工具tcpdump进行抓包来辅助分析,在ProxySvr上[……]
这几年互联网公司都在搞降本增效,以前依靠堆机器跑起来的服务,现在都需要重构,想方设法提升机器的资源利用率。将多个不同的服务部署在同一台机器上,是最直接的提升资源利用率的方法。实践中发现,混合部署的方式不对,模块间也会相互影响,从而带来性能问题。
我们的模块对外提供在线视频转码服务,计划是与[……]
自C++11 起,lambda表达式 逐渐在C++开发中得到使用,在STL中使用了大量的Lambda 表达式。它用以替换独立函数或者函数对象,允许将函数作为另一个函数的参数,并且使代码更可读。利用Lambda表达式的特性,可以极大的提升了编程效率。
[捕获列表][......]
架构设计中,协议设计好之后,保存在服务器里面的视频数据,选择哪种数据传输方式,保证数据能够平稳的,传输到APP也是值得讨论的问题。[……]
无论是手机APP还是大疆无人机,都需要与后台Server打交道。打交道使用的语言,就是数据协议。常见的协议包括标准的HTTP协议、DNS解析协议。
大部分CS结构,开发者都会采用自定义的应用层协议。协议设计的好坏对于模块的性能、兼容性、安全性具有重要意义。
自定义协议[……]
最近在使用RPC框架开发后台Server,RPC默认将协议数据通过Protobuf进行封装。大多数场景下,这样做都没啥问题。然而,我们Server使用RPC框架后,数据处理延时增长了2倍。