nacos更新注册中心信息底层原理

我们假设有一个订单系统,一个库存系统,订单系统为消费者,库存系统为生产者,当库存系统向nacos中增加新的季芹服务信息时采用了一种copyonwrite的机制,写入时复制,即将nacos信息复制一个副本,将新的服务集群信息更新到副本中,当更新完之后将副本替换为原始的nacos集群信息。
为什么会采用这种机制呢?为了防止脏读!因为如果直接更新原始数据,这时候服务在请求数据可能会读到没有更新完的数据导致脏读,比如ip更新完了,端口没来得及更新呢,一些附加信息也没有更新。所有采用这种读写分离的机制。
可能有同学会有疑问,如果副本替换原始数据的过程中,微服务向nacos请求旧数据呢,假设旧数据中的集群服务有的地址已经g了 怎么办,其实在微服务中这种情况是可以容忍的,微服务有调用重试的机制,大不了就重试嘛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢少迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值