RPC 框架分层设计
RPC需要解决的问题
1.函数映射
2.数据转换成字节流
3.网络传输
RPC的好处
1.单一职责,有利于分工协作和运维开发
2.可扩展性强。资源使用率更优
3.故障隔离,服务的整体可靠性更高
RPC带来的问题
1.服务宕机,对方应该如何处理?
2.在调用过程中发送网络异常,如何保证消息的可达性?
3.请求量突增导致服务无法及时处理,有哪些应对措施?
分层设计-以Apache Thrift为例
- 编解码层-生成代码
- 依赖同一份IDL文件,生成不同语言的CodeGen
- 编解码层-数据格式
- 语言特定的格式
- 文本格式
- 二进制编码
- 编解码层-选型
- 兼容性
- 通用性
- 性能
RPC 框架分层设计
RPC需要解决的问题
1.函数映射
2.数据转换成字节流
3.网络传输
RPC的好处
1.单一职责,有利于分工协作和运维开发
2.可扩展性强。资源使用率更优
3.故障隔离,服务的整体可靠性更高
RPC带来的问题
1.服务宕机,对方应该如何处理?
2.在调用过程中发送网络异常,如何保证消息的可达性?
3.请求量突增导致服务无法及时处理,有哪些应对措施?
分层设计-以Apache Thrift为例
- 编解码层-生成代码
- 依赖同一份IDL文件,生成不同语言的CodeGen
- 编解码层-数据格式
- 语言特定的格式
- 文本格式
- 二进制编码
- 编解码层-选型
- 兼容性
- 通用性
- 性能