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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
Code季风1 小时前
Gin Web 层集成 Viper 配置文件和 Zap 日志文件指南(下)
前端·微服务·架构·go·gin
掘金-我是哪吒16 小时前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
DavidSoCool19 小时前
RabbitMQ使用topic Exchange实现微服务分组订阅
分布式·微服务·rabbitmq
掘金-我是哪吒20 小时前
分布式微服务系统架构第158集:JavaPlus技术文档平台日更-JVM基础知识
jvm·分布式·微服务·架构·系统架构
泽020221 小时前
C++之红黑树认识与实现
java·c++·rpc
Kookoos1 天前
ABP VNext + Tye:本地微服务编排与调试
微服务·云原生·架构·tye
guojl1 天前
Ribbon原理和源码分析
spring cloud·微服务
Code季风1 天前
深入理解 gRPC 服务定义:从基础到高级
rpc·go
掘金-我是哪吒1 天前
分布式微服务系统架构第157集:JavaPlus技术文档平台日更-Java多线程编程技巧
java·分布式·微服务·云原生·架构
掘金-我是哪吒1 天前
分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
java·分布式·微服务·云原生·架构