RPC学习
2020-04-15 17:08:51 0 举报
AI智能生成
rpc学习整理,持续更新
作者其他创作
大纲/内容
RPC学习
基础篇
rpc通信流程原理
什么是rpc
Remote Procedure Call,即远程过程调用
屏蔽远程调用跟本地调用的区别,让我们感觉就是调用项目内的方法
隐藏底层网络通信的复杂性,让我们更专注于业务逻辑
通信流程
在调用方的程序里面,RPC 框架根据调用的服务接口提前生成动态代理实现类,并通过依赖注入等技术注入到声明了该接口的相关业务逻辑里面。
转成可传输的二进制,并且要求转换算法是可逆的,这个过程我们一般叫做“序列化”。
RPC 常用于业务系统之间的数据交互,需要保证其可靠性,所以 RPC 一般默认采用 TCP 来传输
在提供的方法处理逻辑里面完成一整套的远程调用,并把远程调用结果返回给调用方,
rpc在架构中的位置
可以说 RPC 对应的是整个分布式应用系统,就像是“经络”一样的存在
RPC 框架能够帮助我们解决系统拆分后的通信问题,并且能让我们像调用本地一样去调用远程方法。
RPC 不仅可以用来解决通信问题,它还被用在了很多其他场景,比如:发 MQ、分布式缓存、数据库等。
rpc使用事项
所有RPC的API设计要仔细考虑,比如一次性能完成的调用就不要走多次调用。
最重要的是要有监控系统能监控所有的调用链,方便问题排查和性能调优。
下游服务的服务能力,避免因为你的调用把别人给调挂了,要事前协商好qps等,做好限流
rpc接口调用超时,接口访问量过高导致服务被拖垮等问题
核心的服务不能强依赖非核心的服务,避免核心服务因为非核心服务异常而不可用
rpc协议
和http协议一样,都是基于应用层的协议
0 条评论
下一页