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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
Hernon8 分钟前
微服务架构设计 - 配置中心的选择
微服务·架构
Crazy Struggle7 小时前
.NET 8 微服务框架长什么样?集成 AI 智能体、多租户、自动调度与实时通信
微服务·.net·.net 8.0
小安同学iter7 小时前
天机学堂day05
java·开发语言·spring boot·分布式·后端·spring cloud·微服务
明月惊雀9 小时前
微服务搭建踩坑
微服务·云原生·架构
CHANG_THE_WORLD10 小时前
Python容器转换与共有函数详解
网络·python·rpc
闲人编程12 小时前
微服务API网关设计模式
python·缓存·微服务·设计模式·系统安全·api·codecapsule
明月惊雀12 小时前
微服务依赖版本管理
java·数据库·微服务
拾忆,想起13 小时前
Dubbo服务访问控制(ACL)完全指南:从IP黑白名单到自定义安全策略
前端·网络·网络协议·tcp/ip·微服务·php·dubbo
拾忆,想起13 小时前
Dubbo序列化性能优化实战:从协议选型到极致调优
前端·微服务·性能优化·架构·dubbo·safari
MC皮蛋侠客20 小时前
使用 GoZero 快速构建高性能微服务项目
微服务·云原生·架构·go