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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
云计算小黄同学13 小时前
Java 服务从虚拟机迁移到 Kubernetes(K8s)集群
java·微服务·云原生·kubernetes
踏浪无痕19 小时前
彻底搞懂微服务 TraceId 传递:ThreadLocal、TTL 与全链路日志追踪实战
后端·微服务·面试
玩具猴_wjh19 小时前
GoZero微服务架构
微服务·云原生·架构
杀死那个蝈坦20 小时前
微服务-远程调用
微服务·云原生·架构
一个帅气昵称啊20 小时前
.Net微服务网关注册和管理(基于Consul + Nginx实现)
微服务·.net·consul
小坏讲微服务20 小时前
Spring Cloud Alibaba 微服务整合自定义日志注解完整教程
java·spring cloud·微服务·云原生·架构
拾忆,想起20 小时前
Dubbo服务注册与发现深度解析:微服务架构的“通讯录”与“导航系统”
微服务·云原生·性能优化·架构·dubbo·safari
ALex_zry20 小时前
Consul 的使用搭建注意事项
网络协议·rpc·consul
杀死那个蝈坦20 小时前
微服务网关(Spring Cloud Gateway)实战攻略
java·微服务·架构
技术破壁人21 小时前
《SkyWalking 分布式链路追踪实战》—— 快速定位微服务性能瓶颈!
分布式·微服务·skywalking