一、是什么 RPC(Remote Procedure Call)— 远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。
像JSON一样,跨平台、跨操作系统、支持多种语言,在多种语言之间使用,高效压缩。 msgpack会将数据打包成二进制的数据,它的数据格式与json类似,但是在存储时对数字、多字节字符、数组等都做了很多优化。减少了无用的字符,二进制格式,也保证不用字符化带来额外的存储空间的增加,所以在很大程度上减少来传输数据的大小。
msgpack-RPC msgpack同样是一种二进制传输协议,比json更小、更快,整体性能比protobuf更高。它不需要预先定义proto文件,因此没有相应的数据校验,这也可能导致项目维护成本较高。本文选择官方的msgpack-rpc进行基于msgpack的RPC调用测试。server端 client端 执行10000次耗时情况 整体对比 protobuf相比json快...
自己写的使用 http 传输协议和 msgpack 序列化协议实现的 RPC 框架,用 etcd 做服务发现 Install git clone this project to your local Usage Frist ensure your etcd-server is running on localhost:2379 For rpc server-side HelloService hello = new HelloServiceImple(); OneRpcServer.publish(hello, Hell...