RPC 框架分层设计

77 阅读1分钟

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
  •    编解码层-数据格式
  •   语言特定的格式
  •   文本格式
  •   二进制编码
  • 编解码层-选型
  •   兼容性
  •   通用性
  •   性能