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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
墨白曦煜5 分钟前
微服务容错设计:Sentinel 全局异常处理与 Feign 降级策略的边界权衡
微服务·架构·sentinel
GanGuaGua29 分钟前
JsonRpc:手搓一个高性能Rpc服务(广播篇)
网络·网络协议·rpc
大厂技术总监下海2 小时前
深入 Apache Dubbo 架构:解读一个开源高性能 RPC 框架的设计哲学与核心源码
分布式·微服务
蓝影铁哥4 小时前
浅谈5款Java微服务开发框架
java·linux·运维·开发语言·数据库·微服务·架构
HyperAI超神经7 小时前
【TVM教程】设计与架构
人工智能·rpc·gru·tvm
没有bug.的程序员7 小时前
Spring Cloud Gateway 架构与执行流程:从原理到性能优化的深度探索
微服务·云原生·eureka·性能优化·架构·sentinel·服务发现
曼诺尔雷迪亚兹8 小时前
微服务启动失败:Nacos 403(unknown user)与配置拉取失败故障双排查
java·运维·微服务
杜子不疼.8 小时前
Spring Cloud 微服务实战:Nacos+Sentinel+Gateway 核心组件详解
spring cloud·微服务·sentinel
wregjru1 天前
【C++】2.4 map和set的使用
网络·网络协议·rpc