Spring Cloud Eureka: 如何指定Zone
有坑。先说结论:如果想给当前服务指定属于哪个zone, 使用eureka.instance.metadata-map.zone=myzone属性是无效的,而应该使用:eureka.client.availabilityZones.beijing=myzone # beijing是region同时指定region:eureka.client.region=beijing至于原因,可以在Eureka
·
有坑。
先说结论:如果想给当前服务指定属于哪个zone, 使用
eureka.instance.metadata-map.zone=myzone
属性是无效的,而应该使用:
eureka.client.availabilityZones.beijing=myzone # beijing是region
同时指定region:
eureka.client.region=beijing
至于原因,可以在EurekaClientConfigBean
的源码中找到:
@Override
public String[] getAvailabilityZones(String region) {
String value = this.availabilityZones.get(region);
if (value == null) {
value = DEFAULT_ZONE;
}
return value.split(",");
}
也就是说在判断当前服务属于哪个zone时,先从availabilityZone
这个Map中查找,查找用的key是region名。如果找不到,就使用默认值,即我们熟知的defaultZone
。
更多推荐
已为社区贡献8条内容
所有评论(0)