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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
Joy T3 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
Wang's Blog19 小时前
Java 项目部署之 Docker工具快速入门: DockerCompose 部署微服务集群
java·docker·微服务
wewowilling1 天前
认识微服务
java·运维·微服务·springcloud
众链网络2 天前
Agent 的成本大头不在“写“,在“判断“:拆解专用决策模型的三层架构
java·开发语言·人工智能·微服务
墨神谕2 天前
RPC框架与HTTP REST的区别
网络协议·http·rpc
我不是阵雨2 天前
分布式事务难题与实战解法全解析
分布式·微服务·架构
做运维的阿瑞2 天前
公有云算力布局的技术逻辑与工程实践
微服务·云计算·csdn开发云
m0_646429972 天前
从零搭建 Spring Boot + Nacos + MySQL + OpenFeign + Docker Compose 微服务项目
微服务
草莓熊Lotso2 天前
【C++ 基于微服务的即时通讯系统】基建三件套:gflags + gtest + spdlog 源码编译安装与实战入门
linux·网络·数据库·c++·微服务·log4j
叶总没有会2 天前
Gateway--网关
spring cloud·微服务·gateway