一、RPC框架分层设计
1. RPC相关的基本概念(Remote Procedure Call)
- 一种远程过程调用协议
- 允许程序在远程计算机上调用另一个程序的过程或函数
- 通常用于在不同计算机之间进行通信和数据交换
RPC概念模型
User、User-Stub、RPC-Runtime、Server-Stub、Server
RPC框架分层设计
-
编解码层
- 数据格式
- 语言特定格式
- 文本格式
- 二进制编码
- 选项
- 兼容性
- 通用型
- 性能
- 数据格式
-
传输协议层
-
网络通信层
- 网络库
- 核心指标
- 吞吐高
- 延迟低
RPC框架的核心指标
RPC 框架的核心指标包括:
-
性能:RPC 框架应该具有较高的性能,能够快速地发送和接收请求,减少网络延迟带来的影响。2. 可扩展性:RPC 框架应该支持大量的并发请求,能够应对高并发的场景,同时具备水平扩展能力,即能够通过增加服务器数量来提高系统性能。
-
可靠性:RPC 框架应该保证请求的可靠传输,即使在网络环境较差的情况下,也要确保请求能够成功发送和接收。此外,RPC 框架还需要支持异常处理和错误恢复机制,以提高系统的稳定性。
-
易用性:RPC 框架应该提供简单易用的 API 和开发工具,让开发者能够快速地开发和部署 RPC 服务,而无需关注底层的实现细节。
-
跨平台兼容性:RPC 框架应该支持多种编程语言和操作系统,使得不同的服务提供者和消费者可以方便地集成和使用。
-
安全性:RPC 框架应该提供数据加密、身份验证、访问控制等安全机制,以保护服务的隐私和完整性。
-
序列化和反序列化能力:RPC 框架需要具备高效的序列化和反序列化能力,以减少网络传输的数据量,提高传输效率。同时,序列化和反序列化过程需要保证数据的一致性和完整性。