RPC框架

1.RPC介绍

RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有:

  • 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。
  • 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。
  • 通信框架:MINA 和 Netty。

目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等
下面

2.完整的RPC框架

在一个典型 RPC 的使用场景中,包含了服务发现、负载、容错、网络传输、序列化等组件,其中“RPC 协议”就指明了程序如何进行网络传输和序列化。

3.RPC核心功能

RPC 的核心功能是指实现一个 RPC 最重要的功能模块,就是上图中的”RPC 协议”部分:


下面分别介绍核心 RPC 框架的重要组成:

组成 作用
客户端(Client) 服务调用方
客户端存根(Client Stub) 存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端
服务端存根(Server Stub) 接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理
服务端(Server) 服务的真正提供者
Network Service 底层传输,可以是 TCP 或 HTTP
posted @ 2021-12-15 13:44  Mason_璠  阅读(333)  评论(0编辑  收藏  举报