一。集群方案及部署思路:

  如果是单节点的注册中心,是无法保证系统稳定性的,当然现在项目部署架构不可能是单节点的。

  集群节点的部署思路:通过运行多个实例并请求他们相互注册,来完成注册中心的高可用性(结伴注册)

      注意:

  用于本机模拟的前期准备工作:将电脑上hosts 添加如下配置 (linux下位置:/etc/hosts):

  

127.0.0.1 localhost server1 server2 
View Code

 

二 设计步骤

 在这里简单创建一个项目:register-center-node1的项目工程,和我们先前的register-center项目工程一模一样

register-center-node1的application.yml配置:

 1 server:
 2   port: 8081
 3 spring:
 4   application:
 5     name: register-center
 6 eureka:
 7   client:
 8     service-url:
 9       defaultZone: http://server1:8080/eureka
10     fetch-registry: true
11   instance:
12     hostname: server2
View Code

register-center的application.yml配置:

 1 server:
 2   port: 8080
 3 spring:
 4   application:
 5     name: register-center
 6 eureka:
 7   client:
 8     service-url:
 9       defaultZone: http://server2:8081/eureka
10   instance:
11     hostname: server1
View Code

注意以下几点:

  1. 与先前独立运行register-center不同,大家注意defaultZone属性,两个注册中心地址都指向对方进行结伴注册
  2. 去掉fetch-registry 与 register-with-eureka配置(其实这样做就会取对应的默认值,两个值均为true)
  3. 启动第一个注册中心时会报Cannot execute request on any known server的错误,暂时不管它,实际上eureka注册中心的ui界面是能打开的
  4. 所有注册中心的节点的spring.application.name必须保持一致。
  5. 当需要往注册中心集群注册服务时的写法:defaultZone:http://server1:8080/eureka,http://server2:8081/eureka

启动完毕后,访问地址:http://localhost:8080 得到如下界面:

我们可以看到注册中心地址已经标记为集群模式了

 

posted on 2017-12-27 23:00  聂晨  阅读(9327)  评论(1编辑  收藏  举报