分布式中的Dubbo 和 Zookeeper

Dubbo是什么?为什么我们要用Dubbo
1.Dubbo是什么?
Apache Dubbo 是一个高性能,轻量级,基于Java的RPC框架。Dubbo提供三个关键功能,包括基于接的远程调用,容错和负载平衡以及自动服务注册和发现。

在这里插入图片描述

2.Dubbo功能分析

3.调用功能职责

服务容器负责启动,加载,运行服务提供者。

服务提供者在启动时,向注册中心注册自己提供的服务。

服务消费者在启动时,向注册中心订阅自己所需的服务。

注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于连接推送变更数据给消费者。

服务消费者,从提供者地址列表,基于软负载均衡算法,选择一台提供者进行调用,如果调用失败,再选另一台调用。

​ 软负载均衡区分与硬负载均衡(例如F5硬负载均衡器),是一种基于软件实现的负载均衡(例如:ngnix)

服务消费者和提供者,在内存中的累计调用次数和调用时间,定时每分钟发一次统计数据到监控中心。

​ map(调用id,times) map(调用id,int),防止于集装箱进行汇总再上报到注册中心。

Zookeeper是什么?

1.Zookeeper是什么?

Zookeeper是一种集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务
在这里插入图片描述

2.Zookeeper在Dubbo中的主要功能

当提供者出现断电等异常停机时,注册中心能自动删除提供者的信息。

当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。

当注册中心重启时,能自动恢复注册数据,以及订阅请求。

当会话过期时,能自动恢复注册数据,以及订阅请求。

当设置<dubbo:registry check=“false”>时,记录失败注册和订阅请求,后台定时重试。

发布了15 篇原创文章 · 获赞 29 · 访问量 3151

猜你喜欢

转载自blog.csdn.net/qq_42338771/article/details/98989227