如何设置Spring Cloud Eureka应用程序区域

时间:2016-01-15 17:29:31

标签: spring-cloud

这可能是一个愚蠢的问题; - )。

在Spring的功能区代码(ZonePreferenceServerListFilter)中,我看到了:

    if (ConfigurationManager.getDeploymentContext() != null) {
        this.zone = ConfigurationManager.getDeploymentContext().getValue(
                ContextKey.zone);
    }

区域名称默认为'defaultZone'。

我如何/在哪里为我的应用程序设置该值?

我尝试在application.yml中设置eureka.instance.metadataMap.zone但是没有用。

有什么建议吗?

感谢。

亨利

2 个答案:

答案 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设置区域的方法仅限于只有一个区域的设置,因为第一个区域将始终使用。