RPC 的基本原理
PRC 到底是什么东东?
目前来说绝大数系统采用的是分布式架构设计的微服务,服务之前的通信可就不是普通的 http 的调用了,这里就使用的是 RPC 的调用
简称 远程过程调用,--服务之间的一种进程间的通信方式类似于桥梁通信
RPC 的原理
服务 A 要调用服务 B 中的某个方法,这里就需要服务 A 和服务 B 建立网络 socket 连接将需要调用的参数,传递给服务 B 进行调用,调用完毕后将服务 B 的返回值数据返回给服务 A,从而实现服务调用
不同服务之间的通信---分布式架构
比如我们使用的 Apache dubbo 的 java 的高性能 RPC 的框架dubbo官网
dubbo 的特点:
面向接口代理的高性能 RPC 调用--(以服务接口为粒度)
不错的负载均衡的能力
服务的自动注册与发现(注册中心-服务清单)
dubbo 的设计架构:
注册中心
服务提供者
服务消费者
容器-启动
监控信息(monitor)
dubbo 容器启动,将自己提供的接口注册到注册中心 registry 中
服务消费者订阅自己需要的服务地址,在注册中心中开始调用 invoke
可以自己管理,或者是安装 dubbo 的监控中心和管理任务台
去 GitHub 上找到 dubbo 的监控中心管理台自己打包然后可以用默认是基于 zookeeper 作为注册中心
启动的顺序,是先要启动注册中心,配置文件地址必须是 zookeeper 注册中心的地址,
我们做一个订单服务,但是在创建订单的时候需要将用户自己的收货地址显示出来,但是订单服务--获取到地址服务
伪代码,一般是当前订单服务的实现类,
加入当前地址服务的服务类
暴露服务
指定注册中心
版权声明: 本文为 InfoQ 作者【卢卡多多】的原创文章。
原文链接:【http://xie.infoq.cn/article/7a0b72c48425da37555aa0110】。文章转载请联系作者。
评论