当前位置: 首页 > news >正文

操作系统-分布式同步

分布式同步概念

如果实现同步的进程分布在不同的服务器中,那么此时的进程同步要用到分布式技术,可用实现分布式的技术有Redis、Zookeeper等中间件

分布式同步,也称为分布式协调,是分布式系统中不可缺少的环节,是将不同的分布式组件有机结合起来的关键,对于一个在多台机器上运行的应用而言,通常需要一个协调者来控制整个系统的运行流程,例如执行的先后顺序,或执行与不执行等,这种控制机制就称为分布式同步。

分布式日志收集系统

系统组成

zookeeper在该系统中用于协调与同步日志源集群与日志收集器集群中各个主机的配对关系。即由于扩容、缩容、宕机、网络等问题,引发日志源集群或日志收集器集群中主机数量变化时,能够同步实现日志收集器集群中的任务再分配 

工作原理

  1. 收集器注册:在zookeeper上创建各个收集器对应的节点(应为持久节点,因为临时节点不能作为父节点。创建时,再创建一个临时节点作为子节点用于监视收集器主机是否在线)
  2. 任务分配:系统根据收集器与生成器的数量,将所有日志源集群主机(创建为临时节点,作为收集器节点的子节点),分别分配给各个收集器
  3. 状态收集:收集日志源主机状态、收集器的运行状态
  4. 任务再分配Rebalance:当出现收集器挂掉或扩容,就需要动态地进行日志收集任务再分配,这个过程称为rebalance,当zk检测到有收集器宕机或发现有新的收集器接入时,就会执行这个过程。有两种方案(全局动态分配、局部动态分配)

MySQL数据复制总线

系统组成

MySQL数据复制总线是一个实时数据复制框架,用于在不同的MySQL数据库实例间进行异构数据复制。其核心部分由三部分构成:生产者、复制管道、消费者

 

其中replicator存在单点问题,所以需要为其设置多个热备主机,而这些热备主机需要通过zk来完成分布式协调工作

工作原理

  1. 复制任务注册:不同的复制任务在zk中创建不同的znode
  2. replicator热备:将同一个复制任务部署到多个不同的replicator主机上,但仅使一个处于running状态,而其他处于standby状态。当running状态的主机发生古装,则使某个standby状态的主机切换为running状态,继续完成复制任务
  3. 主备切换:当running态的主机出现宕机,则该主机对应的临时节点将被自动移除,触发watcher回调:在当前处于standby状态中的replicator主机中找到一个序号最小的节点,修改其状态为running。 

图片来源于网络

http://www.lryc.cn/news/593469.html

相关文章:

  • 实验室危险品智能管控:行为识别算法降低爆炸风险
  • Mybatis学习之简介(一)
  • Vue 3 中封装并使用 IndexedDB 的完整教程(含泛型、模块化、通用 CRUD)
  • Vue Swiper组件
  • 93.数字信号处理相关的一些问题
  • 单元测试学习+AI辅助单测
  • 【ArcGIS技巧】最近分享的GIS插件总结与优化
  • Spring MVC源码分析 DispatcherServlet#getHandlerAdapter方法
  • LVS四种工作模式深度解析
  • Go 语言核心机制深度剖析:指针、defer、多态与空接口实战指南
  • 使用 go-redis-entraid 实现 Entra ID 无密钥认证
  • Go-Redis × RediSearch 全流程实践
  • leetcode_121 买卖股票的最佳时期
  • 力扣经典算法篇-26-长度最小的子数组(暴力求解法,左右指针法)
  • 【Java】【力扣】48.旋转图像
  • FPGA自学——整体设计思路
  • Redis数据库基础与持久化部署
  • 使用CCS6.2为C2000(DSP28335)生成.bin文件和.hex文件
  • 【LeetCode 热题 100】437. 路径总和 III——(解法一)递归递归!
  • CCF编程能力等级认证GESP—C++7级—20250628
  • STM32_Hal库学习ADC
  • IntelliJ IDEA中Mybatis的xml文件报错解决
  • SSM框架——注入类型
  • aws(学习笔记第四十九课) ECS集中练习(1)
  • Streamlit 官翻 5 - 部署、社区云 Deploy
  • Python绘制数据(三)
  • Matplotlib 30分钟精通
  • 人该怎样活着呢?55
  • Windows11下编译好的opencv4.8-mingw,可下载后直接用
  • Apache Kafka 学习笔记