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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
kk的vmware虚拟机安装ubuntu2 小时前
鱼皮 yu-rpc:从 0 到 1 手写 RPC 框架的实践教程
网络·网络协议·其他·rpc
耍酷的魔镜3 小时前
谈谈如何使用Netty开发实现高性能的RPC服务器
服务器·网络协议·rpc
墨神谕3 小时前
JSON-RPC 2.0
网络协议·rpc·json
沉静的小伙5 小时前
在微服务中使用领域事件
java·运维·微服务
满意的星月6 小时前
基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
docker·微服务·架构
doiito6 小时前
微服务资源优化新思路:Sablier + Podman 实现按需启动与自动休眠
后端·微服务·性能优化
微三云 - 廖会灵 (私域系统开发)8 小时前
电商系统微服务拆分实战:从单体到Spring Cloud的分布式事务踩坑与补偿方案
分布式·spring cloud·微服务
ruxshui10 小时前
微服务下单跨服务数据不一致问题分析笔记
sql·微服务·架构
Aray123411 小时前
论服务网格在云原生微服务项目中的设计与落地实践
微服务·云原生·架构
Geek-Chow2 天前
微服务认证与授权:06 — Keycloak / IdP
微服务·信息可视化·架构