[ RPC 框架分层设计 | 青训营课程笔记 ]
这是我参与「第五届青训营」伴学笔记创作活动的第14天
01.基本概念
1.1 本地函数调用
- 将a和 b的值压栈
- 通过函数指针找到 calculate 函数,进入函数取出栈中的值2和3,将其赋予x和y
- 计算x*y,并将结果存在Z
- 将工的值压栈,然后从calculate 返回
- 从栈中取出z返回值,并赋值给result
1.2 远程函数调用(RPC - Remote Procedure Calls)
RPC需要解决的问题
- 函数映射
- 数据转换成字节流
- 网络传输
1.3 RPC概念模型
1.4 一次RPC的完整过程
1.5 RPC的好处
- 单一职责,有利于分工协作和运维开发
- 可扩展性强,资源使用率更优
- 故障隔离,服务的整体可靠性更高
1.6 RPC带来的问题
1.服务宕机,对方应该如何处理? 2.在调用过程中发生网络异常,如何保证消息的可达性? 3.请求量突增导致服务无法及时处理,有哪些应对措施?
1.7 小结
- 本地函数调用和RPC调用的区别:函数映射、数据转成字节流、网络传输
- RPC的概念模型:User、User-Stub、RPC-Runtime、Server-Stub、Server
- 一次 PRC的完整过程,并讲解了RPC的基本概念定义
- RPC带来好处的同时也带来了不少新的问题,将由RPC框架来解决