选择做网站销售的优势,服务器做php网站吗,宣传平台,51趣优化网络seo工程师教程分布式通信框架#xff1a;让远程方法调用和调用进程内方法一样简单
RPC通信原理
rpc#xff1a;远程过程调用#xff08;远程能够调用其他模块的方法#xff09; 在rpc中需要发送时候#xff0c;对发送的信息进行序列化#xff0c;在服务端对接收到的信息进行反序列化…分布式通信框架让远程方法调用和调用进程内方法一样简单
RPC通信原理
rpc远程过程调用远程能够调用其他模块的方法 在rpc中需要发送时候对发送的信息进行序列化在服务端对接收到的信息进行反序列化。
序列化将一个rpc调用序列化成一个字节流 反序列化从网络接收的字节流反序列化成一个rpc调用 黄色部分设计rpc方法参数的打包和解析也就是数据的序列化和反序列化使用Protobuf。
绿色部分网络部分包括寻找rpc服务主机发起rpc调用请求和响应rpc调用结果使用muduo网络库和zookeeper服务配置中心专门做服务发现。
protobuf
protobufprotocol buffer是google 的一种数据交换的格式它独立于平台语言。 google 提供了protobuf多种语言的实现java、c#、c、go 和 python每一种实现都包含了相应语言的编译器以及库文件。 由于它是一种二进制的格式比使用 xml20倍 、json10倍进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式可以用于诸如网络传输、配置文件、数据存储等诸多领域。
1.protobuf是二进制存储的;xml和json都是文本存储的2.protobuf不需要存储额外的信息相比json节省较多空间