学习RPC框架设计


经常听到大家说不同项目之间调用使用HTTP方式,同一个项目内不同服务之间调用使用RPC方式。今天就来学习一下RPC框架,RPC框架是由哪些部分组成又是如何一步一步设计出来的。

PS:本文不涉及具体代码,所有语言都可阅读。


了解RPC框架

既然要设计RPC框架,就需要先知道什么是RPC

RPC(Remote Procedure Call Protocol)全称远程过程调用 ,像调用本地服务(方法)一样调用服务器的服务(方法)。


RPC又是如何进行调用的呢?

很早的时候,国外的工程师设计了一种能够通过A计算机调用B计算机上边应用程序的技术,这种技术不需要开发人员对于网络通讯了解过多,并且调用其他机器上边程序的时候和调用本地的程序一样方便好用。A机器发起请求去调用B机器程序的时候会被挂起,B机器接收到A机器发起的请求参数之后会做一定的参数转换,最后将对应的程序结果返回给A,这个就是最原始的RPC服务调用了。


通常的RPC架构可分为了以下几个核心组件:

  • Client
  • Client Stub
  • Server
  • Server Stub

Client和Server两个名词的概念一般都比较好理解,前一个是客户端(请求发起方),后一个是服务端(服务提供方)。下面来说一下Server Stub和Client Stub是做什么的。

Client Stub: 就是将客户端请求的参数、服务名称、服务地址进行打包,统一发送给server方。

Server Stub: 简单来说就是,服务端接收到Client发送的数据之后进行消息解包,调用本地方法。

具体的调用流程和关系如下图所示:
在这里插入图片描述


RPC框架整体分析和设计

上面我们已经知道了RPC框架的一些基本概念&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值