rpc学习

RPC(Remote Procedure Call)是一种通过网络调用远程服务的框架。本文介绍了RPC的核心要素:网络协议(如HTTP和TCP)、序列化协议(如XML、Protobuf、Thrift、JSON)以及常见的RPC框架(Dubbo、Thrift、GRPC、Feign),并讨论了它们的优缺点。最终建议,在内网通信中,尽管Feign性能损耗稍高,但其易用性和可读性使其成为合适的选择。
摘要由CSDN通过智能技术生成

前言

rpc全称Remote Precedure Call,是一种通过网络从计算机程序上请求服务的框架。
服务之间的调用,主要需要考虑到点是:
1、网络协议
2、序列化
3、实现框架

协议

服务之间的调用方式,可以选择走http和tcp。
tcp位于传输层,http位于应用层,所以tcp更快速,更高效。但是http带有的请求信息更完整,和平时前端请求一样。
内网调用足够快,所以http带来的一点效率损耗可以忽略不计。

序列化

常见的序列化协议
xml、protobuf、thrift、fastjson、Jackson

1、XML

优点:XML历史悠久,可读性好,可以指定元素的名称。
缺点:冗余标签太多,传输浪费资源。文件格式复杂,java还需要进行解析。

2、Protobuf

protocol buffers由谷歌开源。它将数据结构以.proto文件进行描述,通过代码生成工具可以生成对应数据结构的POJO对象和Protobuf相关属性方法。

优点:
	二进制格式,序列化后码流小,传输性能高。
	自动化生成代码,简单易用。
	跨语言,可自定义数据结构。(只支持java、C++、Python)

缺
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值