GOlang服务器使用CapnProto, Protobuf, RapidJson, SBE, FlatterBuff协议调研比较以及最后选择。
1.先排除RapidJson.
2.
给出的解释是SBE,FlatterBuff,和CapnProto相对于ProtoBuf最大的优点是0拷贝(不需要编码和解码过程)。
FlatterBuf和CapnProto采用随机存取。
SBE没有自己的SchemeLanguage采用XML,格式不美观。
3.过滤掉SBE后,发现CapnProto对Go的支持太弱,都是2015年可以跑的代码。现在跑不起来,要手动修改配置和代码搭建环境。
4.同样参考上图,CapnProto说这些序列化库的作者刚偏向于库的使用方向,FlatterBuff是游戏。
5.至此花了8小时选择FlatterBuff昨晚Golang游戏服务器的协议。Period.