架构设计中,协议设计的通用准则
无论是手机APP还是大疆无人机,都需要与后台Server打交道。打交道使用的语言,就是数据协议。常见的协议包括标准的HTTP协议、DNS解析协议。
大部分CS结构,开发者都会采用自定义的应用层协议。协议设计的好坏对于模块的性能、兼容性、安全性具有重要意义。
自定义协议[……]
无论是手机APP还是大疆无人机,都需要与后台Server打交道。打交道使用的语言,就是数据协议。常见的协议包括标准的HTTP协议、DNS解析协议。
大部分CS结构,开发者都会采用自定义的应用层协议。协议设计的好坏对于模块的性能、兼容性、安全性具有重要意义。
自定义协议[……]
最近在使用RPC框架开发后台Server,RPC默认将协议数据通过Protobuf进行封装。大多数场景下,这样做都没啥问题。然而,我们Server使用RPC框架后,数据处理延时增长了2倍。
最近在开发中,有个模块在测试时偶尔会出现卡死现象,进程状态处于futex状态。网络搜索发现这种状态下,进程大概率发生了死锁。最近的代码修改不涉及到锁的使用,可能是其它方面引入的问题。
在日常开发中,死锁并不陌生。只要能有堆栈就很容易解决。使用stace 命[……]