标签:class 服务架构 通信 注册 中心 图片 rop com 服务端
借鉴架构示意图:
实例介绍:
公司某项目架构
服务器A:nginx
服务器BC:tomcat1、tomcat2
服务器D:Dubbo+zookeeper
服务器EF:db1+zookeeper、db2+zookeeper
服务器D中某服务端项目模块信息如下:
[root@xxx danny-service]# ls bin conf lib logs [root@xxx danny-service]# ls conf/ dubbo.properties
dubbo.properties配置信息如下图:
zookeeper配置文件如下:(3台zk配置一样,组成集群)
启动服务后主从选举如下:(选举其中一台为leader)
简单概括
这是dubbo+zookeeper构建的微服务架构。(使用zookeeper作为dubbo的注册中心)这是一个分布式项目,web层和service层被拆分开了,部署在不同的tomcat中。
因为这两个运行在不同 tomcat下的服务无法直接互调接口,就通过微服务架构的方式实现。zookeeper服务(存储service对象url),web端取对象,且server端存对象和web端取对象没关系, 实现c/s 异步通信。 同时,在这个微服务架构里面,为了保持注册中心(zookeeper)的高可用性,分别在三台服务器上部署了zookeeper,通过dubbo.service.loadbalance=roundrobin算法选择一台作为leader ,其他作为follower,注册中心的数据都以leader为准。一台zk机器成为leader的条件是这台机器是可用的,且被超过半数的机器(zookeeper)选举为leader。基于这种实现方式,选择zk集群的数量时最好为奇数个,
最少为3个,这样只要有超过半数的zk机器存活那注册中心就是可用的。
标签:class 服务架构 通信 注册 中心 图片 rop com 服务端
原文地址:https://www.cnblogs.com/dannylinux/p/10509635.html