什么是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模块,具体怎么用......不知道