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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
Linux技术支持工程师2 小时前
docker镜像封装与发布微服务学习
学习·docker·微服务
ponnylv2 小时前
微服务拆分之术与道:从原则到实践的深度解析
微服务·云原生·架构
Hellyc2 小时前
Feign进行微服务转发的实现
java·数据库·微服务
xingsfdz14 小时前
Java微服务-新建demo
微服务·云原生·架构
白露与泡影14 小时前
阿里一面:微服务拆分需要考虑什么因素?
微服务·云原生·架构
大咖分享课14 小时前
微服务数据一致性技术解析:从单体到微服务的数据困局
微服务·云原生·架构·最佳实践·微服务数据一致性
转码的小石15 小时前
深入Java大厂面试:从Spring框架到微服务架构的技术解析
java·spring boot·spring cloud·微服务·junit·spring security·hibernate
2401_8532757316 小时前
什么是 OpenFeigin ?微服务中的具体使用方式
微服务·云原生·架构
Pseudo…18 小时前
容器技术与Docker环境部署
docker·微服务·容器
未来并未来1 天前
解锁微服务潜能:深入浅出 Nacos
运维·微服务·架构