SpringCloud --Eureka集群搭建(高可用服务注册中心)

Eureka是Spring Cloud框架里的核心服务, 几乎每个服务都依赖它。 所以要创建多个Eureka实例进程, 即使其中一个进程挂了, 注册中心功能仍然正常运行。为了实现高可用,必须集群  

增加Eureka服务注册中心配置文件:

application-peer1.properties

spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer2:1112/eureka/,http://peer3:1113/eureka/

 application-peer2.properties

spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://peer1:1111/eureka/,http://peer3:1113/eureka/

 application-peer3.properties

spring.application.name=eureka-server
server.port=1113
eureka.instance.hostname=peer3
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/

1.在peer1的配置文件中,让它的service-url指向peer2,peer3,在peer2的配置文件中让它的service-url指向peer1,peer3,在peer3得配置文件中让它得service-url 指向 peer1,peer2
2.为了让peer1和peer2,peer3 能够被正确的访问到,我们需要在C:\Windows\System32\drivers\etc目录下的hosts文件总添加三行配置,如下:
 127.0.0.1 peer1
 127.0.0.1 peer2 

 127.0.0.1 peer3
3.由于peer1和peer2,peer3 互相指向对方,实际上我们构建了一个双节点的服务注册中心集群 

4.修改server1客户端配置文件并启动:

spring.application.name=server1
server.port=8081
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://peer3:1113/eureka/,http://peer1:1111/eureka,http://peer2:1112/eureka

5.打包工程,生成.jar 文件 打开3个cmd窗口,分别执行

jar -jar demo-0.0.1-SNAPSHOT.jar --server.profiles.active=peer1

jar -jar demo-0.0.1-SNAPSHOT.jar --server.profiles.active=peer2

jar -jar demo-0.0.1-SNAPSHOT.jar --server.profiles.active=peer3

 6.分别访问http://localhost:1111/,http://localhost:1112/,http://localhost:1113/ 

OK,至此,一个高可用的服务注册中心我们就搭建成功了