腾讯企点账户中心pb数据协议数据流传输过程

写在前:
Protocol Buffer是个什么东东?

Protocol Buffer是Google提供的一种数据序列化协议,下面是我从网上找到的Google官方对protobuf的定义:
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

为什么是Node,为何要和Protocol Buffer打交道?

做为javascript开发者,对我们最好的数据序列化协议当然是JSON,pb协议相较于之前流行的XML更加的简洁高效
pb属于二进制协议,更容易解析,解析速度比文本协议有二向箔级别的压制,so,在聊天场景下,udp传输明显是优于tcp的
后台通信基本是基于二进制的,以往我们开发中用到的纯文本协议是后台同学在封装一层实现的,例如我司的服务,就维护了两套,一套二进制的,一套http接口的,如果可以用Node打通了pb,可以将维护成本降到最低,理论上只有一套底层二级制服务
ps. 类似PB这样的东西,还有MessagePack和Apache Thrift

php直接调用pb文件对应的php类文件,根据不同得命令字会有不同的函数用于传参赋值。然后再对赋过值得参数体(对象)进行pack处理,将参数封装到一个二进制字符串中。然后再调用tx封装的 tcpSend或者udpSend函数(ip,port,params,timeout)。
这两个函数使用 swoole封装得。
。。。。。。。
。。。。。。。
。。。。。。。

猜你喜欢

转载自blog.csdn.net/weixin_38385580/article/details/88539009