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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
wapicn991 小时前
微服务架构下的数据核验设计,API接入最佳实践
微服务·云原生·架构
面汤放盐6 小时前
从单体架构到微服务架构:模式与最佳实践
微服务·云原生·架构
one_love_zfl10 小时前
java面试-微服务组件篇
java·微服务·面试
Sam_Deep_Thinking11 小时前
中小团队需要一个资源微服务
java·微服务·架构
星辰_mya11 小时前
异地多活:单元化架构设计
微服务·架构
白晨并不是很能熬夜12 小时前
【RPC】第 4 篇:服务发现 — Zookeeper + 缓存容错
java·后端·程序人生·缓存·zookeeper·rpc·服务发现
信徒_12 小时前
技术选型 RPC 框架
网络·网络协议·rpc
heimeiyingwang14 小时前
【架构实战】领域事件与业务编排架构
java·微服务·架构
紫小米14 小时前
FastAPI 与微服务架构
微服务·架构·fastapi
phltxy15 小时前
微服务多机部署与负载均衡实战:从手写轮询到 Spring Cloud LoadBalancer 落地
spring cloud·微服务·负载均衡