Eureka Server:如何实现高可用
Eureka Server: How to achieve high availability
我是 spring 云的新手。我读过 this doc,它说客户端应用程序必须指定服务 url:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
但是如果 localhost:8761
出现故障怎么办?
Eureka Discovery Server 应该在生产设置中以 Peer-Aware 配置模式使用。
查看:
http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_peer_awareness
例如,您的第一个尤里卡服务器实例将具有如下配置:
server:
port: 1111
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:1112/eureka/
..第二个服务器实例是这样的:
server:
port: 1112
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:1111/eureka/
当 Eureka 服务器实例启动时,它们将相互寻找。所有微服务都会自动向它们注册,因此如果一个服务器出现故障,另一个服务器实例将始终存在。在两个 Eureka 实例上,您将能够看到所有已注册的微服务。这样您就可以在生产环境中扩展并拥有多个服务器实例。
注意:如果您在单个系统上尝试此操作,请不要忘记编辑 /etc/hosts 文件:
127.0.0.1 peer1
127.0.0.1 peer2
我是 spring 云的新手。我读过 this doc,它说客户端应用程序必须指定服务 url:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
但是如果 localhost:8761
出现故障怎么办?
Eureka Discovery Server 应该在生产设置中以 Peer-Aware 配置模式使用。 查看: http://cloud.spring.io/spring-cloud-static/spring-cloud.html#_peer_awareness
例如,您的第一个尤里卡服务器实例将具有如下配置:
server:
port: 1111
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:1112/eureka/
..第二个服务器实例是这样的:
server:
port: 1112
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1:1111/eureka/
当 Eureka 服务器实例启动时,它们将相互寻找。所有微服务都会自动向它们注册,因此如果一个服务器出现故障,另一个服务器实例将始终存在。在两个 Eureka 实例上,您将能够看到所有已注册的微服务。这样您就可以在生产环境中扩展并拥有多个服务器实例。
注意:如果您在单个系统上尝试此操作,请不要忘记编辑 /etc/hosts 文件:
127.0.0.1 peer1
127.0.0.1 peer2