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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
熙客2 天前
SpringCloud概述
java·spring cloud·微服务
阿里云云原生3 天前
HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台
微服务
眠りたいです3 天前
基于脚手架微服务的视频点播系统-数据管理与网络通信部分的预备工作
c++·qt·ui·微服务·云原生·架构·媒体
码农小伙3 天前
单体到微服务拆分方案
微服务·架构
mask哥4 天前
详解mcp以及agen架构设计与实现
java·微服务·flink·大模型·ai agent·springai·mcp
好多174 天前
《微服务事务管理》
java·微服务·架构
hzzzzzo04 天前
微服务保护全攻略:从雪崩到 Sentinel 实战
数据库·微服务·sentinel
一休哥助手4 天前
Apache Thrift:跨语言服务开发的高性能RPC框架指南
网络协议·rpc·apache
APItesterCris5 天前
构建分布式京东商品数据采集系统:基于 API 的微服务实现方案
分布式·微服务·架构
勇敢牛牛_5 天前
使用Rust实现服务配置/注册中心
开发语言·后端·rust·注册中心·配置中心