Eureka集群保持数据一致性

Eureka 的设计理念

保留可用及过期的数据总比丢掉可用的数据好。

分布式数据复制方式

分布式系统的数据在多个副本之间的复制方式,主要有

  • 主从复制,Master-Slave模式;所有写操作提交到主服务,再由主服务更新到从服务;写压力集中在主服务上,从服务分担读请求;
  • 对等复制,Peer to Peer,副本间不分主从,任何副本都可以接受写操作,然后副本间进行数据更新;但副本间数据同步时可能产生数据冲突;

Eureka使用对等复制

Eureka同步过程

  • Eureka Server也是一个Client,在启动时,通过请求其中一个节点(Server),将自身注册到Server上,并获取注册服务信息;
  • 每当Server信息变更后(client发起注册,续约,注销请求),就将信息通知给其他Server,来保持数据同步;
  • 在执行同步(复制)操作时,可能会有数据冲突,是通过lastDirtyTimestamp,最近一次变更时间来保证是最新数据;

比如 Eureka Server A 向 Eureka Server B 复制数据,数据冲突有2种情况:

(1)A 的数据比 B 的新,B 返回 404,A 重新把这个应用实例注册到 B。

(2)A 的数据比 B 的旧,B 返回 409,要求 A 同步 B 的数据。

  • 心跳检测(续约),来进行数据的最终修复
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值