架构师之路 — 分布式系统 — RPC 远程过程调用

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构师之路 — 分布式系统 — RPC 远程过程调用相关的知识,希望对你有一定的参考价值。

目录

文章目录

RPC

RPC(Remote Procedure Call,远程过程调用)是一种计算机程序通信方式,允许运行于一台计算机中的程序调用运行于另一台计算机种的子程序。如果涉及的程序采用了面向对象编程,那么 RPC 亦可称作 “远程函数/方法调用”。

RPC 是一种架构设计理念,不仅仅包含了实现通讯的互联网协议,还包括实现框架,不仅要支持通讯,还要支持序列化/反序列化、消息通知等功能。

简而言之,RPC 就是实现不同服务之间的相互调用的方式,这个不同服务可以是本地服务,也可以是互联网上的远程服务。

RPC 架构

一个完整的 RPC 架构包含了 4 个核心的组件:

  1. Server / Server Stub(服务端存根):接收客户端发送过来的消息,将消息解包,并调用本地的方法。
  2. Client / Client Stub(客户端存根):存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。

成熟的开演 RPC 框架

  • Google gRPC
  • Facebook Thrift
  • 阿里巴巴 Dubbo

以上是关于架构师之路 — 分布式系统 — RPC 远程过程调用的主要内容,如果未能解决你的问题,请参考以下文章

架构师之路系列文章

架构师之路系列文章

[架构之路-61]:目标系统 - 平台软件 - 基础中间件 - 远程过程(函数)调用RPC原理与其网络架构

架构师之路系列文章

架构师之路 — 分布式系统 — 分布式网络分区难题

Yar并行的RPC框架的简单使用