RPC 框架初探索 | 青训营笔记

67 阅读1分钟

一、 RPC 介绍

RPC(Remote Procedure Call),远程过程调用

难点

  1. 函数映射
  2. 数据流 ==> 字节流
  3. 网络传输 ==> TCP/UDP

二、 RPC 过程

  1. IDL (Interface Description Language)
  2. 生成代码
  3. 编解码
  4. 通信协议
  5. 网络传输
  1. 实现函数映射
  • 定义 IDL 文件
  • 编译工具生成 stub 桩文件(相当于静态库)
  1. 实现网络传输
  • 序列化
    • 将请求参数、返回结果进行 encode && decode
    • 根据 RPC 协议约定的数据痛、 元数据、 消息体等,保证 IDL 能使请求与返回结果一一映射
    • 基于成熟的网络哭进行 TCP/UDP 传输

三、 RPC优缺点

  • 优点
    1. 单一职责,有利于分工协作和运维开发
    2. 可扩展性强,资源利用率高
    3. 故障隔离,服务整体可靠性高
  • 缺点
    1. 服务宕机
    2. 调用过程中的网络异常,如何保证消息的可达性
    3. 请求量突增导致服务无法处理的应对措施