目录
- Eureka如何指定Zone
- Eureka中的region和Zone
- 概念
- 分区服务架构图
- Eureka中Regin和 Zone的相关配置
Eureka如何指定Zone
有坑。

先说结论:如果想给当前服务指定属于哪个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。
Eureka中的region和Zone
像亚马逊这种大型的跨境电商平台,会有很多个机房。这时如果上线一个服务的话,我们希望一个机房内的服务优先调用同一个机房内的服务,当同一个机房的服务不可用的时候,再去调用其它机房的服务,以达到减少延时的作用。
于是亚马逊的 AWS 提供了 region 和 zone 两个概念
概念
region:可以简单理解为地理上的分区。比如亚洲地区,或者华北地区,再或者北京地区等等,没有具体大小的限制,根据项目具体的情况,可以自行划分region。zone:可以简单理解为 region 内的具体机房,比如说 region 划分为华北地区,然后华北地区有两个机房,就可以在此 region 之下划分出 zone1、zone2 两个 zone
eureka 也借用了 region 和 zone 的概念
分区服务架构图
如图所示,有一个 region:华北地区,下面有两个机房,机房A 和机房B
每个机房内有一个 Eureka Server 集群 和两个服务提供者 ServiceA 和 ServerB
现在假设 serverA 需要调用 ServerB 服务,按照就近原则,serverA 会优先调用同一个 zone 内的 ServiceB,当 ServiceB 不可用时,才会去调用另一个 zone 内的 ServiceB
Eureka中Regin和 Zone的相关配置
- 服务注册:要保证服务注册到同一个zone内的注册中心,因为如果注册到别zone的注册中心的话,网络延时比较大,心跳检测很可能出问题。
- 服务调用:要保证优先调用同一个zone内的服务,只有在同一个zone内的服务不可用时,才去调用别zone的服务。
服务注册相关
eureka:
client:
# 尽量向同一区域的 eureka 注册,默认为true
prefer-same-zone-eureka: true
#地区
region: huabei
availability-zones:
huabei: zone-1,zone-2
service-url:
zone-1: http://localhost:30000/eureka/
zone-2: http://localhost:30001/eureka/
当存在多个注册中心时,选择逻辑为
- 如果 prefer-same-zone-eureka 为 false,按照 service-url 下的 list 取第一个注册中心来注册,并和其维持心跳检测,不再向list内的其它的注册中心注册和维持心跳。只有在第一个注册失败的情况下,才会依次向其它的注册中心注册,总共重试3次,如果3个service-url都没有注册成功,则注册失败。注册失败后每隔一个心跳时间,会再次尝试。
- 如果 prefer-same-zone-eureka 为true,先通过 region 取 availability-zones 内的第一个zone,然后通过这个zone取 service-url 下的list,并向list内的第一个注册中心进行注册和维持心跳,不再向list内的其它的注册中心注册和维持心跳。只有在第一个注册失败的情况下,才会依次向其它的注册中心注册,总共重试3次,如果3个service-url都没有注册成功,则注册失败。注册失败后每隔一个心跳时间,会再次尝试。
为了保证服务注册到同一个 zone 的注册中心,一定要注意 availability-zones 的顺序,必须把同一 zone 写在最前面
服务调用
eureka:
instance:
# 服务和注册中心的心跳间隔时间,默认为30s
lease-renewal-interval-in-seconds: 30
# 服务和注册中心的心跳超时时间,默认为90s
lease-expiration-duration-in-seconds: 90
metadata-map:
# 当前服务所属的 zone
zone: zone1
服务消费者和服务提供者分别属于哪个zone,均是通过 eureka.instance.metadata-map.zone 来判定的。
服务消费者会先通过 ribbon 去注册中心拉取一份服务提供者的列表,然后通过 eureka.instance.metadata-map.zone 指定的 zone 进行过滤,过滤之后如果同一个 zone 内的服务提供者有多个实例,则会轮流调用。
只有在同一个 zone 内的所有服务提供者都不可用时,才会调用其它zone内的服务提供者。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关推荐:
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
ChatGPT无法访问原因分析及解决方案,斑马ai报道
优化工具:提升工作效率的秘密武器,网站模板的优化策略是什么
seo适合什么职业,seo有前途么 ,ai小精灵
用AI写文,开启创作新时代
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
SEO建站,开启网站优化的全新篇章!,网络营销推广合作方式
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
ChatGPT最近不好用了?了解这些背后的原因与解决方案,ai sketcher
AI免费工具:提升效率与创意的秘密武器
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
二SEO是什么,h二seo三是什么 ,ai手术机
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
AI会生成同一篇文章吗?揭开智能创作的神秘面纱
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
SEO任何:如何通过精准优化让网站流量突破极限,太原网站建设培训班
怎么查一篇文章是不是AI写的?你需要这几个关键方法!
线上AI写作免费一键生成,轻松提升写作效率,解放创作思维
OpenAI新产品与现有技术的完美结合:赋能未来的智能变革,培训 ai
Chatttst:开启智能沟通新时代的无限可能,上海联通ai
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
主流seo是什么,seo是什么推广网站 ,AI心理师
AI写作技巧,让创作事半功倍!
AI生成网页模板,轻松打造专业网站,ai网格画法
ChatGPT坏了用什么?替代方案,满足你的智能对话需求,星际一的ai
《权重参谋:让您的网站轻松登顶搜索引擎的秘密武器》,设计微信社群私域营销推广简案
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
SEO优化是做什么的?让你的网站流量飙升的秘密武器,乳腺癌ai作用机理
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
ChatGPT无服务:如何突破限制,未来人工智能的新可能,ai绘制装饰画
GPT人工智能-让未来触手可及的智慧之光,ai头花写真
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
SEO注意事项:助力网站流量提升的关键策略,济宁快速seo优化价格
文字生成AI开启创作的新纪元
优化综合:引领高效发展的智慧之道,电影营销的推广方式
为什么做seo的人很少,为了什么做seo ,ai不负你
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
什么是seo公司口碑,seo品牌 ,ai大模型训练是什么意思
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
seo相当于什么职业,seo相当于什么职业类别 ,usatisfy ai
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
为什么关键词太少会影响你的网络营销效果?,陕西seo网站推广工具
SEO外链建设:提升网站排名的关键策略,ai偏执
ChatGPT无法完全显示?你可能忽略了这些令人惊讶的细节!,朵朵ai绘画
seo追词是什么,seo词条 ,52580609AI
AI免费生成文本,内容创作新篇章
seo链接有什么用,seo外链是什么意思 ,one ai写作
SEO前的准备工作:如何让网站为搜索引擎优化做好充分准备,SEO_网站排名优化_网络推广