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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
喵叔哟15 分钟前
14.微服务架构实战
运维·微服务·架构
记得开心一点嘛10 小时前
k8s部署微服务项目
微服务·容器·kubernetes
zs宝来了13 小时前
Spring Cloud+Redis+Kafka高并发电商微服务系统源码深度解读
spring boot·redis·spring cloud·微服务·kafka·高并发·电商
syounger14 小时前
从本地到云:如何做出正确的 SAP ERP 云化选择
运维·微服务
一只鱼丸yo1 天前
服务容错:限流、熔断、降级如何落地?
微服务·架构·go
飞舞花下1 天前
微服务架构栈
微服务·云原生·架构
山上春1 天前
Odoo 分布式单体与微服务模式深度对比研究报告
分布式·微服务·架构
Java小生不才1 天前
ChatClient入门
微服务·spring ai
万小猿2 天前
互联网大厂Java求职面试模拟实战:谢飞机的三轮提问与详细解答
java·大数据·spring boot·微服务·面试·技术解析·互联网大厂
胡萝卜的兔2 天前
go-zero rpc 分布式 微服务
分布式·rpc·golang