1.Dubbo原理
1.1 高性能Java RPC框架
Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
1.2 Dubbo特性
- 面向接口代理的高性能RPC调用
- 服务自动注册与发现
- 运行期流量调度
- 智能负载均衡
- 高度可扩展能力
- 可视化的服务治理与运维
1.3 Dubbo工作原理
1.3.1 Dubbo高可用测试
- 测试1:将后台提供者宕机一台,检查是否影响消费者调用。
不影响 注册中心实现心跳检测机制. 即使没有注册中心,又要有提供者就可以正常访问
- 测试2: 将zookeeper宕机一台,检查是否影响用户使用。
不影响 因为zk搭建了集群.可以实现高可用
- 测试3: 将zookeeper集群全部宕机,检查是否影响用户使用。
不影响. 因为消费者将zk注册中心的数据,已经保存到本地(消费者的内存中),所以不收影响
1.3.2 Dubbo通讯问题
核心:微服务通信一般都是靠RPC(统称)
dubbo中的RPC基于dubbo的协议规范
1.4 Dubbo调用原理
1.4.1 原理说明
- 需求:是否可以实现服务的自动发现和注册
图很丑,没有大神级的画得好看,将就着看吧。
图示解析:
- 当服务提供者启动时,会将服务数据保存到zk中。
- 当zk接收用户服务信息之后,会将数据保存到服务列表中。
- 当消费者启动时,先连接zk获取zk的服务列表。
- 之后缓存到本地,方便下次访问。
- 消费者接收用户的请求时,根据负载均衡策略,实现请求的发送,并且获取服务端的数据(RPC)。
- Zk实时的心跳检测,如果后台服务器宕机,则需要更新自己的服务列表,同时广播给全部的客户端。
上一篇文章:
穿条纹睡衣的男孩:微服务架构Dubbo之注册中心(Zookeeper)zhuanlan.zhihu.com
本文原文链接:
微服务架构Dubbo之原理讲解及利用zookeeper作为注册中心进行高可用测试mp.weixin.qq.com
如果对你有用可点击链接,关注我哦!!我将持续更新!!!