从0到1手写注册中心Registry之主从数据同步

集群选主完成后,从节点需要从主节点同步数据。

一、快照数据

同步的快照数据是描述注册中心的服务信息。

  • registry: 每个服务对应的实例;
  • versions:每个服务的版本信息;
  • timestamps:每个服务的时间戳;
  • version:当前服务版本信息;

二、主从数据同步

在定时任务中,依次执行:服务状态更新,集群选主,主从数据同步。

当前节点不是主节点,并且版本信息小于主节点的版本,就认为是从节点,就需要从主节点同步数据,以保证整个集群对外数据的一致性。

发起http请求,获取快照数据,然后根据快照数据恢复到当前从节点注册中心数据。

恢复数据的逻辑就是清空,再添加。

三、测试

依次启动8084、8085、8086,主节点是8084,从节点是8085和8086。

向主节点8084注册服务

从节点8086也能查询到服务,说明主从数据同步成功。

相关推荐
豆瓣鸡10 小时前
Guava RateLimiter 限流实战:从令牌桶原理到 Nacos 动态配置
spring boot·微服务·nacos·guava
Wang's Blog1 天前
Go-Zero项目开发10: 微服务治理中心实现原理分析
开发语言·微服务·golang
xexpertS1 天前
分布式系统过载治理:如何通过较小服务控制请求节奏
微服务·自动化
不是光头 强2 天前
接口性能优化报告
网络协议·性能优化·rpc
爱学习的小可爱卢2 天前
SpringCloud——微服务实战:OpenFeign与Nacos服务调用详解
spring·spring cloud·微服务
吴声子夜歌2 天前
MongoDB 4.x——微服务入门
java·mongodb·微服务
阿标在干嘛2 天前
从HTTP到WebSocket:招投标信息实时推送系统的协议选型与架构设计
大数据·微服务·架构
VortMall2 天前
『平台去经营化』平台治理能力全新重构|VortMall微服务商城系统v1.3.10
java·大数据·微服务·商城系统·开源商城·vortmall·去经营化
Wang's Blog2 天前
Go-Zero项目开发9: 微服务治理之服务注册中心
微服务·golang
Wang's Blog3 天前
Go-Zero项目开发8: 构建社交API服务与微服务解耦实践
开发语言·微服务·golang