RPC框架选择简介是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计479个文字,预计阅读时间需要2分钟。
RPC(远程过程调用)是一种通过网络让不同的计算机系统相互调用对方程序中提供的服务的协议。下面简要介绍RPC协议及常见框架,并对比传统RESTful API与RPC方式的优缺点。
常见RPC框架包括gRPC和基于序列化方式的Protobuf等。与基于HTTP协议的RESTful API相比,RPC方式有如下优缺点:
优点:
1.RPC通常使用高效的序列化协议,如Protobuf,可以减少数据传输量,提高通信效率。
2.RPC调用模型简单,易于理解和实现。
3.RPC支持服务端推送功能,可以实现更复杂的业务逻辑。
缺点:
1.RPC调用需要建立TCP连接,开销较大。
2.RPC调用不支持缓存,数据重复传输。
3.RPC调用依赖于特定的序列化协议,增加了系统的复杂性。
HTTP协议是基于TCP协议的,其优点是易于理解和实现,缺点是数据传输效率较低,且不支持缓存。
简单介绍RPC协议及常见框架,对比传统restful api和RPC方式的优缺点。常见RPC框架,gRPC及序列化方式Protobuf等
HTTP协议
thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。
JSON-RPC
python web接口实现(restful方式、jsonrpc方式)
区块链项目中用的较多?资料不是很多
JSON-RPC是一种序列化协议。JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
非常简单,方便,速度慢
相关Python 包(直接集成到flask和django)
Flask-JSONRPC,django-json-rpc;jsonrpcserver,jsonrpcclient
thrift
Python RPC 之 Thrift
Facebook开源的跨语言RPC框架。
gRPC
gRPC 官方文档中文版
深入了解gRPC协议-知乎
- tensorflow分布式与tensorflow serving底层通信都是是用的grpc
序列化用protobuf,通信使用www.www.jianshu.com/p/b0343bfd216e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文共计479个文字,预计阅读时间需要2分钟。
RPC(远程过程调用)是一种通过网络让不同的计算机系统相互调用对方程序中提供的服务的协议。下面简要介绍RPC协议及常见框架,并对比传统RESTful API与RPC方式的优缺点。
常见RPC框架包括gRPC和基于序列化方式的Protobuf等。与基于HTTP协议的RESTful API相比,RPC方式有如下优缺点:
优点:
1.RPC通常使用高效的序列化协议,如Protobuf,可以减少数据传输量,提高通信效率。
2.RPC调用模型简单,易于理解和实现。
3.RPC支持服务端推送功能,可以实现更复杂的业务逻辑。
缺点:
1.RPC调用需要建立TCP连接,开销较大。
2.RPC调用不支持缓存,数据重复传输。
3.RPC调用依赖于特定的序列化协议,增加了系统的复杂性。
HTTP协议是基于TCP协议的,其优点是易于理解和实现,缺点是数据传输效率较低,且不支持缓存。
简单介绍RPC协议及常见框架,对比传统restful api和RPC方式的优缺点。常见RPC框架,gRPC及序列化方式Protobuf等
HTTP协议
thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。
JSON-RPC
python web接口实现(restful方式、jsonrpc方式)
区块链项目中用的较多?资料不是很多
JSON-RPC是一种序列化协议。JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
非常简单,方便,速度慢
相关Python 包(直接集成到flask和django)
Flask-JSONRPC,django-json-rpc;jsonrpcserver,jsonrpcclient
thrift
Python RPC 之 Thrift
Facebook开源的跨语言RPC框架。
gRPC
gRPC 官方文档中文版
深入了解gRPC协议-知乎
- tensorflow分布式与tensorflow serving底层通信都是是用的grpc
序列化用protobuf,通信使用www.www.jianshu.com/p/b0343bfd216e
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

