Dubbo-基础概念介绍

1.架构

1.1 服务角色介绍

Provider:暴露服务的服务提供方。

Consumer:调用远程服务的服务消费方。

Registry:服务注册和服务发现的注册中心,存放服务提供方的服务发布信息,调用地址,协议类型等。

Monitor:统计服务的调用次数和调用事件,进行分析和统计服务的压力等性能问题。

Container:服务运行的容器,也可以理解为:RPC服务器。

1.2 服务调用关系

服务容器Container:负责区解决启动Rpc服务器和加载服务提供信息和启动服务提供者。

服务提供者Provider:负责向注册中心Registry组件去注册自己的提供的服务,并且会在内存中统计服务调用次数和服务调用时间,每分钟推送服务定时推送信息到健康中心。

服务消费者Consumer:负责向注册中心Registry组件去消费获取自己所需要的服务,根据软负载均衡进行构建调用服务方案,如果调用失败,则采用failover机制,切换为其他服务提供者的服务。并且会在内存中统计服务调用次数和服务调用时间,每分钟推送服务定时推送信息到健康中心。

注册中心Registry:负责向返回服务提供者列表给服务消费者,建立长连接机制进行构建推送服务消费者实时更新服务信息。

1.3 服务连通性

(1)服务提供者和消费者:服务注册中心和服务消费中心只有在启动的时候,与注册中心交互,注册服务和获取订阅服务等。

(2)注册中心采用的目录服务JNDI协议进行构建服务的查找和注册功能。

(3)服务注册中心和消费中心、服务注册中心三者之间均为长连接、监控中心除外。

(4)服务注册中心通过长连接进行交互服务提供者,服务提供者出现宕机,注册中心,会立刻通知服务消费着,服务消费者会即可进行服务降级和服务的恢复

(5)服务注册中心、监控中心宕机,不会影响服务消费着和提供者,会有内部缓存列表进行服务调用。

(6)服务提供者和服务消费着可以进行直接调用,所以服务监控中心和服务注册中心,不是必需。

(7)服务提供者会每分钟定时汇报服务调用时间和次数到监控中心、同时在启动的时候注册服务信息到注册中心。

(8)服务消费者,会在启动的时候,获取注册中心相关的服务信息列表,然后根据SLP技术,进行服务负载均衡,获取其中一个服务的信息调用服务。同时每分钟会定时上报服务调用时间到服务监控中心。

1.4 服务健壮性

健康中心宕机只会影响数据丢失的完整性,不会出现不可用的情况。

注册中心具有failover机制进行故障切换功能对等集群。

服务提供和服务消费,可以通过本地缓存进行继续通信,即使注册中心全部宕机,服务提供者为无状态化服务,即使服务宕机不影响其他服务使用,如果全部挂了,则客户端消费会进行无限次尝试重新连接调用,直到服务提供者恢复。

1.5 服务伸缩性

注册中心可以长连接时时更新服务提供者到服务列表中。


Dubbo-基础概念介绍_第1张图片

其中有几点:

服务Deployer,可以自动部署服务本地代理。

服务Repository,仓库基于存储服务的开发包。

Scheduler调度中心:基于服务的压力,动态增减服务提供实例。

admin:统一控制台。

你可能感兴趣的:(Dubbo-基础概念介绍)