RPC | 青训营笔记

28 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天。

1. 基本概念

远程函数调用 vs 本地函数调用:

image.png

RPC概念模型:

image.png

RCP基本概念:

image.png

RPC的好处:

image.png

RPC存在的问题

image.png

由RPC框架来处理

2.RPC框架-分层设计

2.1 Thrift

image.png

2.2 编解码层

  • 生成代码

image.png

依赖于IDL文件

  • 数据格式

image.png

image.png

  • 选型

image.png

2.3 协议层

通信协议和元数据的添加。

image.png

协议构造

image.png

多路复用:同一个连接内可以有多个请求。

协议解析:

image.png

2.4 网络通信层

  • sockets API
  • 网络库

封装好的网络库

image.png

3.关键指标

3.1 稳定性

  • 保障策略

image.png

  • 请求成功率

(1)负载均衡 (2)重试

  • 长尾请求

明显高于平均响应时间的占比比较小的请求

解决方案:Backup Request