RPC远程过程调用

什么是RPC:

将一个函数运行在远程计算机上并且等待获取那里的结果,这个称作RPC: (Remote Procedure Call远程过程调用)

RPC是一个计算机通信协议。

rpc指的是在计算机A上的进程调用另外一台计算机B的进程,A上的进程被挂起,B上的被调用进程开始执行后,产生返回值给A,A继续执行。调用方可以通过参数将信息传递给被调用方,而后通过返回结果得到信息,这个过程对于开发人员来说是透明的。

 

应用举例:

一个电商的下单过程,涉及物流、支付、库存、红包等多个系统,多个系统又在多个服务器上,由不同的技术团队负责,整个下单过程,需要所有团队进行远程调用。 

下单:

{

库存>减少库存

支付>扣款

红包>减免红包

物流>生成订单

}

库存系统在阿里云服务器1   支付系统在阿里云服务器2 .    红包系统在阿里云服务器3 .   物流系统在阿里云服务器4 .  然后????不知道了

 

由于服务在不同的机器上远程调用必经网络通信,调用服务必须写一坨网络通信代码很容易出错且很复杂,因此就出现了RPC框架。 rpc框架封装了数据的序列化,反序列化,以及传输协议.   

实现rpc的框架有很多.e.g ↓

 

python实现RPC:

利用RabbitMQ构建一个RPC系统,包含了客户端和RPC服务器,依旧使用pika模块,具体怎么用......不知道

 

 

 

 

posted @ 2019-04-04 02:04  yunfengding  阅读(124)  评论(0编辑  收藏  举报