这是我参与[第五届青训营]伴学笔记创作活动的第10天 主要有三部分的内容
- RPC的基本概念
- RPC框架的分层设计
- 衡量RPC框架的一些核心指标
RPC框架分层设计
- 编解码层
-
- 数据格式
- 选项
- 传输协议层
-
- 消息切分
- 协议构造
-
网络通信层
-
- 网络库
- 核心指标
-
-
- 吞吐高
-
- 延迟低
-
RPC框架的核心指标:
- 稳定性
-
- 保障策略
-
- 熔断
-
- 限流
-
- 超时
- 请求成功率
-
- 负载均衡
- 重试
- 长尾请求
-
- BackupRequest
- 易用性
-
- 开箱即用
- 周边工具
扩展性
观测性:
- Log
- Metric
- Tracing
- 内置观测性服务
高性能:
基本概念
RPC和本地函数的区别?
本地函数是本地调用
RPC是远程函数调用
相比于本地函数调用,RPC调用需要解决的问题
- 函数映射
- 数据转换成字节流:传输前后都要进行数据转换
- 网络传输:远程调用需要进行网络传输
RPC概念模型
User User-Stub RPC-Runtime Server-Stub Server
一次RPC的完整过程相关概念
IDL文件:声明有哪些方法,方法的参数
生成代码:把IDL文件转成对应的语言代码
编码:内存表示到字节序列。也叫做序列化(二进制编码 语言编码 文本格式)
解码:字节序列到内存表示。也叫做反序列化
通信协议:数据在网络中传输内容和格式
网络传输:通常基于TCP/UDP传输
RPC的好处?
可扩展性强
单一职责,易于分工协作和运维开发
故障隔离,服务整体可靠性高
作业
行业内各个流行的RPC框架的优劣对比
关于RPC框架。业界有哪些新的趋势和概念
了解微服务的新趋势ServiceMesh,以及RPC框架和ServiceMesh的关系
参考
介绍了RPC的核心指标以及RPC框架Kitex优化实践【后端专场 学习资料五】第五届字节跳动青训营 - 掘金 (juejin.cn)