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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
huameinan狮子12 小时前
微服务化的基石——持续集成
大数据·ci/cd·微服务
大模型丫丫13 小时前
Spring Boot 入门指南:从零开始构建微服务
spring boot·微服务·firefox
snow@li16 小时前
命名规范:企业级微服务模块前缀命名规范全景梳理
微服务·云原生·架构
beibeix20151 天前
MITK中微服务三套注册表数据结构分析
微服务·mitk
Wang's Blog1 天前
Go-Zero项目开发34: 微服务超时控制与重试机制实践
开发语言·微服务·golang·go-zero
X-⃢_⃢-X1 天前
四、OpenFeign远程调用
java·微服务·springboot·springcloud
beibeix20152 天前
MITK中两种微服务的三层架构实现对比
微服务·mitk
在水一缸2 天前
深入浅出:Node.js 下一代 ORM 架构设计与实战解析
数据库·微服务·云原生·node.js·orm·架构设计
Wang's Blog2 天前
Go-Zero项目开发30: 微服务配置中心的设计与实现
开发语言·微服务·golang·go-zero
小罗水2 天前
第3章 从单体项目到 Spring Cloud 微服务
spring·spring cloud·微服务