一 、分布式服务框架架构图




【dubbo】-004ZooKeeper+Dubbo架构搭建_Group






(1)ProviderGroup: 每个Group由多台Node组成,每个Node需要保证以下配置


1.      采用相同的application name

2.      保证provider的连接地址互不相同(在单机上部署多个provider需要保证端口不同)

3.      注册中心地址一致



(2)CustomerGroup: 每个Group由多台Node组成,每个Node需要保证能网络连接到所需业务的Provider并保证以下配置


1.      采用相同的application name

2.      注册中心地址一致



(3)RegisterGroup: 服务调用的分配者,每个RegisterNode监听除自身以外所有节点是否存活和健康(包括其RegisterGroup)



 管理节点,可选节点,只作为一个管理者和观察者






二、针对以上架构搭建代码框架



随着快的业务的快速发展,我们逐步按照业务垂直划分,抽象出基础服务层。


1. 服务化的目标


(1) 基础服务的服务为上游业务的灵活发展提供支持


(2)服务应用本身无状态化,可以随着系统的负荷灵活伸缩


(3)服务的稳定性,可用性达到99%




2. dubbo架构


dubbo作为服务化中间件,dubbo作为一个RPC框架,大致原理如图:


【dubbo】-004ZooKeeper+Dubbo架构搭建_服务提供者_02




  • Registry: 注册中心;和服务的消费者,和服务提供者都建立长连接。服务提供者注册服务到注册中心;服务消费者从注册中心获取服务提供者列表;


  • Consumer: 服务消费端;服务消费者从注册中心获取到服务提供者列表后,根据负载均衡算法,选择一个服务提供者,和服务提供者直接建立连接,开始调用服务;


  • Provider:服务提供者;服务提供者提供RPC服务;


  • Monitor: 监控服务的调用情况统计;


  • 注册中心为N+1对等集群,一台挂掉后,会自动切换到另外一台注册中心


  • 注册中心全部挂掉后,消息消费者本地会缓存服务提供者列表,所以不影响当时的服务调用。


  • 服务提供者为集群,一台挂掉后,通过心跳过程,注册中心会立即刷到服务消费者告知;



3. 工程分类






【dubbo】-004ZooKeeper+Dubbo架构搭建_ide_03







参考文章:


  http://itindex.net/detail/50503-dubbo-服务