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