天天看点

dubbo原理_微服务架构Dubbo之原理讲解

1.Dubbo原理

1.1 高性能Java RPC框架

Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

dubbo原理_微服务架构Dubbo之原理讲解

1.2 Dubbo特性

  • 面向接口代理的高性能RPC调用
  • 服务自动注册与发现
  • 运行期流量调度
  • 智能负载均衡
  • 高度可扩展能力
  • 可视化的服务治理与运维
以上几点接来源于dubbo的官网:http://dubbo.apache.org/zh-cn/

1.3 Dubbo工作原理

1.3.1 Dubbo高可用测试

  • 测试1:将后台提供者宕机一台,检查是否影响消费者调用。

不影响 注册中心实现心跳检测机制. 即使没有注册中心,又要有提供者就可以正常访问

  • 测试2: 将zookeeper宕机一台,检查是否影响用户使用。

不影响 因为zk搭建了集群.可以实现高可用

  • 测试3: 将zookeeper集群全部宕机,检查是否影响用户使用。

不影响. 因为消费者将zk注册中心的数据,已经保存到本地(消费者的内存中),所以不收影响

1.3.2 Dubbo通讯问题

核心:微服务通信一般都是靠RPC(统称)

dubbo中的RPC基于dubbo的协议规范

dubbo原理_微服务架构Dubbo之原理讲解

1.4 Dubbo调用原理

1.4.1 原理说明

  • 需求:是否可以实现服务的自动发现和注册
dubbo原理_微服务架构Dubbo之原理讲解

图很丑,没有大神级的画得好看,将就着看吧。

图示解析

  1. 当服务提供者启动时,会将服务数据保存到zk中。
  2. 当zk接收用户服务信息之后,会将数据保存到服务列表中。
  3. 当消费者启动时,先连接zk获取zk的服务列表。
  4. 之后缓存到本地,方便下次访问。
  5. 消费者接收用户的请求时,根据负载均衡策略,实现请求的发送,并且获取服务端的数据(RPC)。
  6. Zk实时的心跳检测,如果后台服务器宕机,则需要更新自己的服务列表,同时广播给全部的客户端。

上一篇文章:

穿条纹睡衣的男孩:微服务架构Dubbo之注册中心(Zookeeper)​zhuanlan.zhihu.com

dubbo原理_微服务架构Dubbo之原理讲解

本文原文链接:

微服务架构Dubbo之原理讲解及利用zookeeper作为注册中心进行高可用测试​mp.weixin.qq.com

dubbo原理_微服务架构Dubbo之原理讲解

如果对你有用可点击链接,关注我哦!!我将持续更新!!!

继续阅读