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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
阿里云云原生2 分钟前
阿里云微服务引擎 MSE 及 API 网关 2026 年 3 月产品动态
微服务
却话巴山夜雨时i14 分钟前
互联网大厂Java面试:从Spring到微服务的全栈挑战
java·spring boot·redis·微服务·面试·kafka·技术栈
鸿儒51739 分钟前
利用gdal进行RPC经纬度与像素坐标转换问题记录
linux·rpc·gdal
人间打气筒(Ada)2 小时前
「码动四季·开源同行」go语言:微服务网关如何作为服务端统一入口点?
微服务·golang·开源·微服务网关·go实战
2301_771717212 小时前
登录生成 Token + 网关解析 Token + 微服务透传 userId
微服务·云原生·架构
大数据新鸟2 小时前
微服务之Spring Cloud OpenFeign
spring cloud·微服务·架构
大数据新鸟2 小时前
微服务之Spring Cloud LoadBalancer
java·spring cloud·微服务
2301_771717211 天前
微服务架构:多模块之间通信OpenFeign
微服务·架构·asp.net
indexsunny1 天前
互联网大厂Java面试实录:Spring Boot到微服务的深入探讨
java·spring boot·微服务·面试·eureka·kafka·jwt
2301_771717211 天前
P2P 微服务项目架构完整解析
微服务·架构·p2p