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

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

一、快照数据

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

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

二、主从数据同步

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

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

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

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

三、测试

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

向主节点8084注册服务

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

相关推荐
qq_3181215920 小时前
互联网大厂Java面试故事:在线教育微服务架构、缓存优化与AI智能教学全流程解析
java·spring boot·redis·微服务·kafka·spring security·在线教育
Curvatureflight20 小时前
API网关设计与实现:从单体到微服务的过渡
微服务·云原生·架构
nihui1231 天前
微服务解决方案 netflix与alibaba哪个好?
微服务·云原生·架构
小北方城市网1 天前
Spring Security 认证授权实战(JWT 版):从基础配置到权限精细化控制
java·运维·python·微服务·排序算法·数据库架构
AC赳赳老秦2 天前
技术文档合著:DeepSeek辅助多人协作文档的风格统一与内容补全
android·大数据·人工智能·微服务·golang·自动化·deepseek
乐观主义现代人2 天前
gRPC 框架面试题学习
后端·学习·rpc
初願致夕霞2 天前
实现具备C++11现代特性的STL——vector篇(附带简单的航空订票系统实例)
开发语言·c++·rpc
indexsunny2 天前
互联网大厂Java面试实战:核心技术与微服务架构解析
java·数据库·spring boot·缓存·微服务·面试·消息队列
虫小宝2 天前
企业微信客户联系API在Java微服务中的幂等性设计与重试机制
java·微服务·企业微信
刘一说2 天前
Spring Cloud微服务中的断路器:从Hystrix到Sentinel的进化之路
spring cloud·hystrix·微服务