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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
fredricen1 天前
Luci操作创龙(Tronlong)T113-i开发板GPIO
rpc·web·openwrt·luci
爬山算法1 天前
Netty(26)如何实现基于Netty的RPC框架?
网络·网络协议·rpc
前端小臻1 天前
Eureka笔记(黑马)
微服务·eureka
zwxu_1 天前
thread堆栈分析报告
java·微服务·消息队列·熔断
Blossom.1181 天前
知识图谱与大模型融合实战:基于GNN+RAG的企业级智能问答系统
人工智能·python·深度学习·神经网络·微服务·重构·知识图谱
前端小臻1 天前
认识微服务-服务架构演变(黑马笔记)
微服务
Wang's Blog1 天前
Kafka: 分布式配置动态更新之微服务总线实现
分布式·微服务·kafka
家乡的落日1 天前
微服务监控和简单日志系统搭建grafana+prometheus+node_exporter+promtail+loki
微服务·grafana·prometheus
码界奇点2 天前
基于Golang的微服务API网关系统设计与实现
开发语言·微服务·golang·毕业设计·yapi·源代码管理