目录
文章目录
RPC
RPC(Remote Procedure Call,远程过程调用)是一种计算机程序通信方式,允许运行于一台计算机中的程序调用运行于另一台计算机种的子程序。如果涉及的程序采用了面向对象编程,那么 RPC 亦可称作 “远程函数/方法调用”。
RPC 是一种架构设计理念,不仅仅包含了实现通讯的互联网协议,还包括实现框架,不仅要支持通讯,还要支持序列化/反序列化、消息通知等功能。
简而言之,RPC 就是实现不同服务之间的相互调用的方式,这个不同服务可以是本地服务,也可以是互联网上的远程服务。
RPC 架构
一个完整的 RPC 架构包含了 4 个核心的组件:
- Server / Server Stub(服务端存根):接收客户端发送过来的消息,将消息解包,并调用本地的方法。
- Client / Client Stub(客户端存根):存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。