深入浅出RPC框架 | 青训营

65 阅读2分钟

一、RPC框架分层设计

1. RPC相关的基本概念(Remote Procedure Call)

  • 一种远程过程调用协议
  • 允许程序在远程计算机上调用另一个程序的过程或函数
  • 通常用于在不同计算机之间进行通信和数据交换

RPC概念模型

User、User-Stub、RPC-Runtime、Server-Stub、Server

RPC框架分层设计

  • 编解码层

    • 数据格式
      • 语言特定格式
      • 文本格式
      • 二进制编码
    • 选项
      • 兼容性
      • 通用型
      • 性能
  • 传输协议层

  • 网络通信层

    • 网络库
    • 核心指标
      • 吞吐高
      • 延迟低

RPC框架的核心指标

RPC 框架的核心指标包括:

  1. 性能:RPC 框架应该具有较高的性能,能够快速地发送和接收请求,减少网络延迟带来的影响。2. 可扩展性:RPC 框架应该支持大量的并发请求,能够应对高并发的场景,同时具备水平扩展能力,即能够通过增加服务器数量来提高系统性能。

  2. 可靠性:RPC 框架应该保证请求的可靠传输,即使在网络环境较差的情况下,也要确保请求能够成功发送和接收。此外,RPC 框架还需要支持异常处理和错误恢复机制,以提高系统的稳定性。

  3. 易用性:RPC 框架应该提供简单易用的 API 和开发工具,让开发者能够快速地开发和部署 RPC 服务,而无需关注底层的实现细节。

  4. 跨平台兼容性:RPC 框架应该支持多种编程语言和操作系统,使得不同的服务提供者和消费者可以方便地集成和使用。

  5. 安全性:RPC 框架应该提供数据加密、身份验证、访问控制等安全机制,以保护服务的隐私和完整性。

  6. 序列化和反序列化能力:RPC 框架需要具备高效的序列化和反序列化能力,以减少网络传输的数据量,提高传输效率。同时,序列化和反序列化过程需要保证数据的一致性和完整性。