我们可以用一个注册中心服务创建多个中心。
在项目中新建两个配置文件
分别是peer1和peer2
peer1的内容:
server.port=1111
spring.application.name=eureka-server
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
peer2内容:
server.port=1112
spring.application.name=eureka-server
eureka.instance.hostname=peer2
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
看内容可知:就是相互注册
然后打包为discovery-0.0.1-SNAPSHOT.jar,
启动项目jar,命令是:java -jar discovery-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
重开cmd窗口,启动项目jar,命令是:java -jar discovery-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
可以看到能启动两个项目用同一个jar包,
启动项目的时候我这由于pom文件的配置原因会包
jar中没有主清单属性
百度了下,原来是要配置依赖
仔细检查了下发现:是缺少了这个依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
添加上之后就正常了。
然后浏览器打开http://127.0.0.1:1111/ 和http://127.0.0.1:1112/
可以看到在peer1中注册了peer2服务,在peer2中注册了peer服务