java在线学习-dubbo架构的特点

鲁班学院 java在线学习 dubbo架构的特点

Dubbo架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。

连通性

注册中心负责注册和搜索服务地址,这相当于目录服务。服务提供商和消费者仅在启动时与注册中心进行交互,注册中心不会转发请求,因此压力较小

监视中心负责计算每个服务的调用次数,呼叫时间等。首先将统计信息存储在内存中,每分钟发送一次到监视中心服务器,并在报告中显示

服务提供商注册由注册中心提供的服务,并将呼叫时间报告给监视中心。此时间不包括网络开销

服务使用者从注册中心获取服务提供商地址列表,并根据负载算法直接呼叫提供商,同时将呼叫时间报告给监控中心,该时间包括网络开销

注册中心,服务提供商,服务使用者都是长期连接,监控中心除外

注册表通过长连接感知到服务提供者的存在,并且服务提供者已关闭,注册表将立即推送事件以通知使用者

注册中心和监视中心全部关闭,这不会影响已经在运行的提供者和使用者。使用者在本地缓存提供者列表

注册中心和监视中心是可选的,服务使用者可以直接连接到服务提供商

健壮性

监控中心宕掉不影响使用,只是丢失部分采样数据

数据库关闭后,注册中心仍可以通过缓存提供服务列表查询,但无法注册新服务

注册中心对等群集中的任何一个关闭后,它将自动切换到另一个

在所有注册中心都关闭之后,服务提供商和服务使用者仍可以通过本地缓存进行通信

服务提供者是无状态的,一旦其中任何一个发生故障,它都不会影响使用

所有服务提供商都关闭之后,服务使用者应用程序将不可用,并且将无限期重新连接以使服务提供商恢复

弹性

注册表是一个对等集群,可以动态添加计算机部署实例,并且所有客户端都会自动发现新注册表

服务提供者是无状态的,可以动态添加计算机部署实例,并且注册表会将新的服务提供者信息推送给使用者

升级性

当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力。下图是未来可能的一种架构:

java在线学习-dubbo架构的特点