微服务架构核心技术十四

微服务通讯方式RPC vs REST

图例
微服务架构核心技术十四_第1张图片

从九个方面分析两种通讯方式的差别:

  1. RPC采用一些定制的消息格式,服务端和客户端需要以一定的消息格式通讯.REST无强消息耦合性.
  2. RPC一般采用二进制消息格式紧凑,性能高.REST采用文本类型的消息协议
  3. RPC一般用TCP协议通讯,grpc也支持http2协议通讯
  4. payload size 大小可能影响到性能
  5. 接口契约IDL语言类似一个协议,来规定接入对象的行为.
  6. RPC框架如阿里Dubbo,腾讯Tars,新浪微博在Dubbo基础上简化motan,grpc基于protobuf的RPC框架,thrif比较经典
  7. RPC框架可以生成多语言客户端,不利于调试(二进制不可读) REST可以直接向外暴露(二进制直接暴露不友好

你可能感兴趣的:(微服务)