如何在 Spring 云中从客户端配置多个 Eureka 服务器
How to config multiple Eureka Servers from client in Spring Cloud
从 spring 文档中,我看到我们可以同时拥有对等 eureka 服务器,因此对于 Eureka1,在 application.yml 中,我可以拥有:
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2/eureka/
而在 Eureka Server 2 中,我可以拥有:
spring:
profiles: peer2
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1/eureka/
现在这两个eureka server 互相知道了,很好。
但是,现在在配置客户端时,当他们再次注册Eureka时,该怎么做?
在我的客户端应用程序中,我有:
eureka:
instance:
hostname: ${host.instance.name:localhost}
nonSecurePort: ${host.instance.port:8080}
leaseRenewalIntervalInSeconds: 5 #default is 30, recommended to keep default
metadataMap:
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
client:
serviceUrl:
defaultZone: http://(eurekaServerHost):8761/eureka/
server:
port: ${host.instance.port:8080}
所以现在我的问题是我应该在客户端使用 peer1 还是 peer2 作为 EurekaServerHost application.yml?
谢谢
在 eureka.client.serviceUrl.defaultZone
.
中使用逗号分隔的同行列表
eureka.client.serviceUrl.defaultZone=http://<peer1host>:<peer1port>/eureka,http://<peer2host>:<peer2port>/eureka
从 spring 文档中,我看到我们可以同时拥有对等 eureka 服务器,因此对于 Eureka1,在 application.yml 中,我可以拥有:
spring:
profiles: peer1
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2/eureka/
而在 Eureka Server 2 中,我可以拥有:
spring:
profiles: peer2
eureka:
instance:
hostname: peer2
client:
serviceUrl:
defaultZone: http://peer1/eureka/
现在这两个eureka server 互相知道了,很好。 但是,现在在配置客户端时,当他们再次注册Eureka时,该怎么做?
在我的客户端应用程序中,我有:
eureka:
instance:
hostname: ${host.instance.name:localhost}
nonSecurePort: ${host.instance.port:8080}
leaseRenewalIntervalInSeconds: 5 #default is 30, recommended to keep default
metadataMap:
instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}
client:
serviceUrl:
defaultZone: http://(eurekaServerHost):8761/eureka/
server:
port: ${host.instance.port:8080}
所以现在我的问题是我应该在客户端使用 peer1 还是 peer2 作为 EurekaServerHost application.yml?
谢谢
在 eureka.client.serviceUrl.defaultZone
.
eureka.client.serviceUrl.defaultZone=http://<peer1host>:<peer1port>/eureka,http://<peer2host>:<peer2port>/eureka