后面咱们搭建的注册核心只适宜本地开发应用,在生产环境中必须搭建一个集群来保障高可用。Eureka 的集群搭建办法很简略:每一台 Eureka 只须要在配置中指定另外多个 Eureka 的地址就能够实现一个集群的搭建了。
举荐分布式架构源码

上面咱们以 2 个节点为例来阐明搭建形式。假如咱们有 master 和 slaveone 两台机器,须要做的就是:

将 master 注册到 slaveone 下面。
将 slaveone 注册到 master 下面。
如果是 3 台机器,以此类推:

将 master 注册到 slaveone 和 slavetwo 下面。
将 slaveone 注册到 master 和 slavetwo 下面。
将 slavetwo 注册到 master 和 slaveone 下面。
搭建步骤
创立一个新的我的项目 eureka-server-cluster,配置跟 eureka-server 一样。

首先,咱们须要减少 2 个属性文件,在不同的环境下启动不同的实例。减少 application-master.properties:

server.port=8761# 指向你的从节点的Eurekaeureka.client.serviceUrl.defaultZone=http://用户名:明码@localhost:8762/eureka/

减少 application-slaveone.properties:

server.port=8762# 指向你的主节点的Eurekaeureka.client.serviceUrl.defaultZone=http://用户名:明码 @localhost:8761/eureka/

在 application.properties 中增加上面的内容:

spring.application.name=eureka-server-cluster# 因为该利用为注册核心, 所以设置为false, 代表不向注册核心注册本人eureka.client.register-with-eureka=false# 因为注册核心的职责就是保护服务实例, 并不需要检索服务, 所以也设置为 falseeureka.client.fetch-registry=falsespring.security.user.name=zhangsanspring.security.user.password=123456# 指定不同的环境spring.profiles.active=master

在 A 机器上默认用 master 启动,而后在 B 机器上加上 --spring.profiles.active=slaveone 启动即可。

这样就将 master 注册到了 slaveone 中,将 slaveone 注册到了 master 中,无论谁呈现问题,利用都能持续应用存活的注册核心。

之前在客户端中咱们通过配置 eureka.client.serviceUrl.defaultZone 来指定对应的注册核心,当咱们的注册核心有多个节点后,就须要批改 eureka.client.serviceUrl.defaultZone 的配置为多个节点的地址,多个地址用英文逗号隔开即可:

eureka.client.serviceUrl.defaultZone=http://zhangsan:123456@localhost:8761/eureka/,http://zhangsan:123456@localhost:8762/eureka/

须要框架源码请看我个人简介