赞
踩
Rpc是什么?
Rpc(remote procedure call)即远程过程调用,为解决不同服务间相互调用的方法的复杂处理,让服务间调用如本地方法一般简单。
为什么需要Rpc框架?
因为服务架构的演变从最初的单机服务到如今的分布式,微服务,因为功能拆分的为服务之间需要一定程度的通信沟通,而传统服务间使用api请求存在各种问题,如负载,调用失败处理,异常处理,请求管理等,所以rpc框架就是为了解决这种问题。
RPC框架原理:
在RPC框架中主要有三个角色:Provider、Consumer和Registry。如下图所示:
节点角色说明:
* Server: 暴露服务的服务提供方。
* Client: 调用远程服务的服务消费方。
* Registry: 服务注册与发现的注册中心。
Rpc基本流程:
1. client 以调用本地方法的方式调用服务方法
2. 使用rpcProxy代理 让 rpcInvoket调用 通过 rpcProtocol 对 参数组成的消息题进行加密传输给server
3.server 的RpcAcceptor用于接收client rpcConnedor(维持与服务的RpcChannel)传输的消息题,然后使用同样的RpcProtocol 进行解码
4 Server将解码结果 交给RpcProcessor处理调用过程,然后再委托给RpcInvokel处理参数返回结果
5 server 将结果加密传输给client 解密
rpc就是为了解决流程中的步骤,让用户无感知的装填如本地调用的方式调用远程服务方法。为了微服务,分布式应用更稳定,高效的开发运行。
成熟的Rpc框架:
1.dubbo框架
2.springCloud
3.gRpc
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。