单节点Eureka Server并不适合线上生产环境,Eureka Client会定时连接Eureka Serve,获取服务注册表中信息并缓存到本地。微服务在消费远程API时总是使用本地缓存中的数据。因此,eureka Server发生宕机,也不会影响服务之间的调用。但如果Eureka Server 宕机时,某些微服务也出现了不可用的情况,Eureka Client中的缓存若不被更新,就可能会影响到微服务的调用,甚至影响到整个应用系统的高可用性。
- 配置文件
在单节点Eureka的配置文件上进行修改
#服务命名(用于指定注册到Eureka Server上的应用名称)
spring:
application:
name: Eureka
---
spring:
profiles: peer1
server:
#端口号
port: 8761
eureka:
instance:
hostname: peer1
client:
serviceUrl:
#将自己注册到peer2这个Eureka上去
defaultZone: http://peer2:8762/eureka/
---
spring:
profiles: peer2
server:
#端口号
port: 8762
eureka:
instance:
hostname: peer2
client:
serviceUrl:
#将自己注册到peer a上去
defaultZone:
http://peer1:8761/eureka/
- 配置系统hosts:
windows系统的hosts文件路径C:\Windows\System32\drivers\etc\hosts;linux是/etc/hosts
添加:127.0.0.1 peer1
127.0.0.1 peer2
- 启动服务
java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 &
java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2 &
- 测试
若成功,输入http://10.12.0.50:8761/或者http://10.12.0.50:8762/将看到