RPC理论原理

本文介绍了集群与分布式的基本概念,详细阐述了RPC(远程过程调用)的工作原理和技术实现细节,包括如何通过网络传输数据以及使用何种工具进行服务发现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集群和分布式

集群:每一台服务器独立运行一个工程的所有模块
分布式:一个工程拆分了很多模块,每一个模块独立部署运行在一个服务器主机上,所有服务器协同工作共同提供服务,每一台服务器称作分布式的一个节点,根据节点的并发要求,对一个节点可以再做节点模块集群部署。
  分布式集群各服务器上运行各自的业务,当在一台服务器上需要调用另一台服务器的业务的时候,就是需要RPC来实现了。

RPC通信原理

  RPC(Remote Procedure Call Protocol)远程过程调用协议。
在这里插入图片描述
  caller服务器上调用callee服务器上的函数,将callee上的函数名以及需要的参数打包,通过网络的方式传输过去(此时的caller等待结果),callee上收到包之后将收到的包进行解包,通过信息找到对应的函数执行将结果打包然后通过网络传输给caller,caller收到包之后解包将结果return。
  中间打包和解包的过程称为数据的序列化和反序列化。中间的黄色部分绿色部分就是RPC这个框架需要做的事情。
黄色部分:设计rpc方法参数的打包和解析,也就是数据的序列化和反序列化,使用Protobuf。
绿色部分:网络部分,包括寻找rpc服务主机,发起rpc调用请求和响应rpc调用结果,使用muduo网络库和zookeeper服务配置中心(专门做服务发现)。
(mprpc框架主要包含以上两个部分的内容。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值