架构设计中,协议设计的通用准则
无论是手机APP还是大疆无人机,都需要与后台Server打交道。打交道使用的语言,就是数据协议。常见的协议包括标准的HTTP协议、DNS解析协议。
大部分CS结构,开发者都会采用自定义的应用层协议。协议设计的好坏对于模块的性能、兼容性、安全性具有重要意义。
自定义协议[……]
无论是手机APP还是大疆无人机,都需要与后台Server打交道。打交道使用的语言,就是数据协议。常见的协议包括标准的HTTP协议、DNS解析协议。
大部分CS结构,开发者都会采用自定义的应用层协议。协议设计的好坏对于模块的性能、兼容性、安全性具有重要意义。
自定义协议[……]
最近在使用RPC框架开发后台Server,RPC默认将协议数据通过Protobuf进行封装。大多数场景下,这样做都没啥问题。然而,我们Server使用RPC框架后,数据处理延时增长了2倍。
最近有个relay模块在线上进行紧急发布,一共600台机器半天之内发布完成。晚上6点开始手机就开始持续震动,realy模块信令都出现异常,用户进房间失败率突增。监控曲线上跑出了一个凹字形。赶紧回退realy模块恢复业务,同时开始紧急定位问题原因。
后台服务采用特定框架进行开发,在回退的过程[……]