高可用注册中心——Spring Cloud Eureka
在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况, 所以在生产 环境中必须对各个组件进行高可用部署, 对于微服务如此, 对于服务注册中心也一样。 但 是到本节为止,我们一直都在使用单节点的服务注册中心,这在生产环境中显然并不合适, 我们需要构建高可用的服务注册中心以增强系统的可用性。(摘自Spring Cloud 微服务实战)
- 目录结构
- 配置文件代码
spring.application.name=eureka-server
server.port=1111
eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/
spring.application.name=eureka-server
server.port=1112
eureka.instance.hostname=peer2
#指向另一个注册中心
eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/
- 遇到的问题:
java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar Eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
以上述方式启动服务后,发现peer1和peer2节点分别在unavailable-replicas中。
- 解决方法:
- 检查配置文件中是否存在
eureka.client.register-with-eureka=false,eureka.client.fetch-registry=false
去掉或者属性改为true都可以。表示是否让注册中心注册自己。
2. 检查spring.application.name=eureka-server
两个配置文件中此属性是否一致。
3. 检查C:\Windows\System32\drivers\etc\hosts文件中是否成功添加127.0.0.1 peer1 127.0.0.1 peer2
如
本文不能涵盖高可用注册中心所有问题,如有其他问题请联系博主共同解决或搜索其他文章。第一次写博客,内容和格式请多多指正!