如何设置 Spring Cloud Eureka 应用的区域
How to set a Spring Cloud Eureka app's zone
这可能是个愚蠢的问题 ;-)。
在Spring的功能区代码(ZonePreferenceServerListFilter)中,我看到:
if (ConfigurationManager.getDeploymentContext() != null) {
this.zone = ConfigurationManager.getDeploymentContext().getValue(
ContextKey.zone);
}
区域名称默认为'defaultZone'。
How/where 我可以为我的应用程序设置该值吗?
我尝试在 application.yml 中设置 eureka.instance.metadataMap.zone,但没有成功。
有什么建议吗?
谢谢。
亨利
我相信 eureka.client.availabilityZones
是一个列表。然后就可以设置eureka.client.serviceUrl.<yourzone>=<eurekaurlforthatzone
.
如果您有多个区域,您可以在此处找到更多详细信息:https://github.com/spring-cloud/spring-cloud-netflix/issues/991
使用此处提供的增强功能,您可以 将 Eureka-Ribbon-Client 的区域设置为 eureka.instance.metadataMap.zone
。如果您使用早期版本的 Spring Cloud,您仍然可以在 application.yaml.
中使用 属性 "@zone"
使用 availabilityZones
设置区域的方法仅限于只有一个区域的设置,因为第一个区域将始终被使用。
这可能是个愚蠢的问题 ;-)。
在Spring的功能区代码(ZonePreferenceServerListFilter)中,我看到:
if (ConfigurationManager.getDeploymentContext() != null) {
this.zone = ConfigurationManager.getDeploymentContext().getValue(
ContextKey.zone);
}
区域名称默认为'defaultZone'。
How/where 我可以为我的应用程序设置该值吗?
我尝试在 application.yml 中设置 eureka.instance.metadataMap.zone,但没有成功。
有什么建议吗?
谢谢。
亨利
我相信 eureka.client.availabilityZones
是一个列表。然后就可以设置eureka.client.serviceUrl.<yourzone>=<eurekaurlforthatzone
.
如果您有多个区域,您可以在此处找到更多详细信息:https://github.com/spring-cloud/spring-cloud-netflix/issues/991
使用此处提供的增强功能,您可以 将 Eureka-Ribbon-Client 的区域设置为 eureka.instance.metadataMap.zone
。如果您使用早期版本的 Spring Cloud,您仍然可以在 application.yaml.
"@zone"
使用 availabilityZones
设置区域的方法仅限于只有一个区域的设置,因为第一个区域将始终被使用。