Eureka集群数据同步的设计思路梳理

 

Eureka集群数据同步包含两层含义:


第一层含义:Eureka Client只会向一个Eureka Server注册服务。


一个Eureka Client只会向一个Eureka Server注册服务,如果失败,会向其他Eureka Server进行重试,
并且Eureka Client发起的注册请求是单条操作,不可能批量操作,具体实现在RetryableEurekaHttpClient.class中。

 

第二层含义:Eureka Server集群之间,通过复制进行数据同步。


Eureka Server集群之间的数据同步是批量操作。

 

为什么这样设计呢?

 

我们无从考究,只有当事人自己知道。但是我们来看一下这样设计的好处。
假设我们的集群中,有3个Eureka Server和100个Eureka Client,
如果采用Eureka Client向所有Eureka Server注册的方案,
则请求总次数 = 100 * 3 = 300
如果采用Eureka Client向一个Eureka Server注册,失败重试的方案,
则请求总次数最小值 = 100 + 2(Eureka Server之间的数据同步)


一般来说,Eureka Client向一个Eureka Server注册时,失败重试的次数是很少的,在加上Eureka Server之间的数据同步
是批量操作,因此可以大大减少微服务之间的请求总次数,减轻集群内部的压力。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值