为了提高Eureka Server可用性,可以运行Eureka Server多个实例,并让这些实例互相注册,从而形成Eureka Server集群。下面以2个实例为例来说明如何搭建双节点模式。
1. 在Eureka Server项目中,准备两个application.yml文件,分别命名为:application-peer1.yml和application-peer2.yml。具体内容如下:
application-peer1.yml
server:
port: 8760
eureka:
instance:
hostname: peer1
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://peer2:8761/eureka/
application-peer2.yml
server:
port: 8761
eureka:
instance:
hostname: peer2
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://peer1:8760/eureka/
2. 在系统中设置hostname(以Windows为例):
找到hosts文件(C:\Windows\System32\drivers\etc),并添加下面两行:
3. 使用mvn package命令构建项目,生成demo-0.0.1-SNAPSHOT.jar(在项目target目录下)。
4. 启动两个Eureka Server实例,在CMD中分别运行两个命令:
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
5. 访问http://localhost:8760/,http://localhost:8761/,查看已注册的复制:
6. 向Eureka Server注册一个Client,通过管理页面(5中的两个图)发现client分别在peer1和peer2都已经注册了。