java在线学习-dubbo架构的特点
鲁班学院 java在线学习 dubbo架构的特点
Dubbo架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。
连通性
注册中心负责注册和搜索服务地址,这相当于目录服务。服务提供商和消费者仅在启动时与注册中心进行交互,注册中心不会转发请求,因此压力较小
监视中心负责计算每个服务的调用次数,呼叫时间等。首先将统计信息存储在内存中,每分钟发送一次到监视中心服务器,并在报告中显示
服务提供商注册由注册中心提供的服务,并将呼叫时间报告给监视中心。此时间不包括网络开销
服务使用者从注册中心获取服务提供商地址列表,并根据负载算法直接呼叫提供商,同时将呼叫时间报告给监控中心,该时间包括网络开销
注册中心,服务提供商,服务使用者都是长期连接,监控中心除外
注册表通过长连接感知到服务提供者的存在,并且服务提供者已关闭,注册表将立即推送事件以通知使用者
注册中心和监视中心全部关闭,这不会影响已经在运行的提供者和使用者。使用者在本地缓存提供者列表
注册中心和监视中心是可选的,服务使用者可以直接连接到服务提供商
健壮性
监控中心宕掉不影响使用,只是丢失部分采样数据
数据库关闭后,注册中心仍可以通过缓存提供服务列表查询,但无法注册新服务
注册中心对等群集中的任何一个关闭后,它将自动切换到另一个
在所有注册中心都关闭之后,服务提供商和服务使用者仍可以通过本地缓存进行通信
服务提供者是无状态的,一旦其中任何一个发生故障,它都不会影响使用
所有服务提供商都关闭之后,服务使用者应用程序将不可用,并且将无限期重新连接以使服务提供商恢复
弹性
注册表是一个对等集群,可以动态添加计算机部署实例,并且所有客户端都会自动发现新注册表
服务提供者是无状态的,可以动态添加计算机部署实例,并且注册表会将新的服务提供者信息推送给使用者
升级性
当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力。下图是未来可能的一种架构: