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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
白晨并不是很能熬夜5 小时前
【PRC】第 2 篇:Netty 通信层 — NIO 模型 + 自定义协议 + 心跳
java·开发语言·后端·面试·rpc·php·nio
梵得儿SHI8 小时前
(第二篇)Spring AI 架构设计与优化:可观察性体系,打造全链路可视化的 AI 运维方案
人工智能·微服务·grafana·prometheus·监控·可观察性·spring ai
白晨并不是很能熬夜11 小时前
【RPC】第 1 篇:全景篇 — 一次 RPC 调用的完整旅程
java·网络·后端·网络协议·面试·rpc·java-zookeeper
喜欢流萤吖~13 小时前
消息队列:微服务的异步通信枢纽
微服务·架构
AI木马人13 小时前
11.【AI系统微服务架构实战】如何从单体系统升级到微服务?(避免系统崩溃的完整方案)
人工智能·微服务·架构
huipeng92614 小时前
GateWay使用详解
java·spring boot·spring cloud·微服务·gateway
TE-茶叶蛋14 小时前
微服务下 DTO 设计核心原则
微服务·云原生·架构
2301_8152795215 小时前
RabbitMQ - 在微服务架构中的落地实践:消息推送 / 解耦 / 削峰填谷
微服务·架构·rabbitmq
aXin_ya15 小时前
微服务(高级) 8
java·数据库·微服务
珠海西格电力16 小时前
零碳园区管理系统“云-边-端”架构协同的核心价值
大数据·人工智能·分布式·微服务·架构·能源