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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
牧羊狼的狼8 小时前
浅谈电商下单微服务流程
spring·spring cloud·微服务
魏杨杨13 小时前
被流量逼出来的架构:从一台服务器到云原生的 17 次蜕变 —— 集群、缓存、MQ、微服务、Docker、K8S 的前世今生
微服务·k8s·负载均衡·ddd·分部署
雨辰AI16 小时前
完整版信创微服务国产化架构实战:Nacos+Seata+Redis + 人大金仓(生产可落地)
数据库·redis·微服务·架构·政务
万里侯16 小时前
Kubernetes成本优化:降低云原生基础设施成本的完整指南
微服务·容器·k8s
未若君雅裁18 小时前
服务雪崩、降级、熔断与服务保护
java·微服务
万里侯21 小时前
云原生API网关:管理微服务流量的最佳实践
微服务·容器·k8s
MY_TEUCK1 天前
【Java 后端 | Nacos 注册中心】微服务治理原理、选型与注册发现实战
java·开发语言·微服务
万里侯1 天前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
smileNicky2 天前
Spring框架懒加载怎么实现?
python·spring·rpc
万里侯2 天前
Ansible自动化运维实战:从入门到生产级应用
微服务·容器·k8s