操作系统-分布式同步

分布式同步概念

如果实现同步的进程分布在不同的服务器中,那么此时的进程同步要用到分布式技术,可用实现分布式的技术有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。

图片来源于网络

相关推荐
国科安芯4 小时前
低轨卫星姿态与轨道控制系统中高可靠MCU的选型研究——基于AS32S601的抗辐照性能试验数据分析
分布式·科技·单片机·嵌入式硬件·系统架构
纵有疾風起5 小时前
页面置换算法与实战机制:从 LRU 到内存映射文件
操作系统·408·lru·mmap·clock·页面置换·belady异常
谢白羽5 小时前
SGLang源码剖析-2-sglang双层体系架构全景
分布式·架构·llm·vllm·sglang
qo_tn7 小时前
Windows route 命令详解 --- 多网络环境下,指定特定地址
操作系统
qo_tn7 小时前
Windows PowerShell Test-NetConnection 使用详解
操作系统
霸道流氓气质10 小时前
分布式锁 — 概念、原理与实践
分布式
杰佛史彦明 本王是暴君11 小时前
分布式日志收集系统: Facebook Scribe
分布式·facebook
JHC00000012 小时前
基于 DrissionPage 与 Xvfb 的分布式无头爬虫架构
分布式·kafka
梦云莓铃 脚后跟法12 小时前
结合领域驱动设计的SOA分布式软件架构
分布式
zcmodeltech12 小时前
火电厂模型多设备时序控制系统设计:基于STM32与Modbus RTU的燃煤-燃机全流程联动方案
分布式·stm32·单片机·嵌入式硬件·物联网