rpc

RPC

关于RPC的几点笔记

Posted on September 21, 2016

RPC 概述

  • 远程过程调用:Remote Procedure Call, 是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序

  • 是一种client-server的交互形式,调用者(caller)是client, 执行者(executor)是server。典型的实现方式就是request–response通讯机制

  • RPC 是进程之间的通讯方式(inter-process communication, IPC)

  • RPC的实现的技术各不相同,也不一定兼容


RPC 点对点调用过程

  1. Client call client stub, 本地调用
  2. client stub marshalling, 打包消息
  3. Client send to Server, 发送消息
  4. Server send to server stub
  5. server stub unmarshalling, 解包消息
  6. server stub call method, 调用服务并返回数据

RPC 框架分类

  • 侧重服务治理: Dubbo、DubboX、Motan、rpcx

    服务治理包括: 服务发现, 服务治理, 高可用, 负载均衡等

  • 侧重跨语言调用: Thrift、gRPC、Hessian、Hprose

    但这类框架没有服务发现相关机制, 实际使用时一般需要代理层进行请求转发和负载均衡策略控制


参考资料

2017-10-26 补充: