Enreka Server可以通过运行多个实例,并通过互相注册的方式来实现高可用的部署。
具体配置如下:
spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/,http://peer3:1113/eureka/
spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer3:1113/eureka/
spring.application.name=eureka-server
server.port=1113
eureka.instance.hostname=peer3
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/
然后,因为是本地启动,需要在C:\Windows\System32\rivers\etc\hosts文件,添加
127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3
之后,分别启动(IDEA可以Edit COnfigurations勾掉Single instance only)。
前几个实例启动会报错找不到其他注册中心,没关系不用管。
可以在available-replicase看到我们的注册中心组成了集群。
这种两两相互注册的方式,可以很好实现高可用。