当前位置:网站首页>多主复制下处理写冲突(4)-多主复制拓扑
多主复制下处理写冲突(4)-多主复制拓扑
2022-07-31 15:27:00 【华为云】
复制的拓扑结构描述了写请求从一个节点传播到另一个节点的通信路径。若有两个主节点,如图-7,只有一个合理拓扑结构:M1必须把他所有的写同步到M2,反之亦然。当有两个以上M,各种不同拓扑都可能的。如图-8说明了一些例子。
最普遍的拓扑是全部到全部,即图-8 ,每个M将其写入同步到其他所有M。
但也会使用更多受限制的拓扑:例如,MySQL仅支持环形拓扑(circular topology),其中每个节点接收来自前一个节点的写入,并将这些写入(加上自己的写入)转发给后序节点。
另一流行结构是星形形状^v。一个指定的根节点将写入转发给所有其他节点。星型拓扑可以推广到树。
环形、星形拓扑
写请求需通过多个节点才能到达所有副本,即中间节点需要转发从其他节点收到的数据更改。为避免无限循环,每个节点需赋予一个唯一标识符,在复制日志中的每个写请求都标记了所有已经过的节点的标识符。当某节点收到用自己的标识符标记的数据更改时,该数据更改将被忽略,避免重复转发。
问题
若某节点故障,则可能会中断其他节点之间的复制消息流,导致它们无法通信,直到节点修复。拓扑结构可以重新配置为在发生故障的节点上工作,但在大多数部署中,这种重新配置必须手动完成。更密集连接的拓扑结构(例如全部到全部)的容错性更好,因为它允许消息沿着不同的路径传播,避免单点故障。
全部到全部的拓扑也可能问题。特别当一些网络链接可能比其他网络链接更快(网络拥塞),结果一些复制消息可能“超过”其他复制消息,如图-9。
客户端A向L1的表中插入一行,B在L3更新该行。然而,L2能以不同顺序接收写入:可先接收更新(从它的角度来看,是对数据库中不存在的行的更新),之后接收L1的插入日志(本该在更新日志之前到达)。
这是个因果关系问题,类似“一致前缀读”中的:更新依赖先前完成的插入,所以需确保所有节点先接收插入,再处理更新。在每次写日志里添加一个时间戳还不够,主要因为无法确保时钟完全同步,因而无法在L2上正确排序所收到的日志。
为正确排序日志消息,可使用版本向量。冲突检测技术在很多主节点复制系统中实现不够完善。如PostgreSQL BDR不提供写入的因果排序,Tungsten Replicator for MySQL甚至不尝试检测冲突。
边栏推荐
猜你喜欢
女性服务社群产品设计
使用 GraphiQL 可视化 GraphQL 架构
Ubantu专题4:xshell、xftp连接接虚拟机以及设置xshell复制粘贴快捷键
Kubernetes principle analysis and practical application manual, too complete
Why don't you make a confession during the graduation season?
华医网冲刺港股:5个月亏2976万 红杉与姚文彬是股东
button控件的使用
The use of button controls
格林美瑞交所IPO:募资3.8亿美元 更多中国企业将赴欧洲上市
Public Key Retrieval is not allowed error solution when DBeaver connects to MySQL 8.x
随机推荐
TRACE32——基于SNOOPer的变量记录
type of timer
Linux check redis version (check mongodb version)
435. 无重叠区间
Matlab矩阵基本操作(定义,运算)
数据表插入数据insert into
WPF项目--控件入门基础用法,必知必会XAML
leetcode303场周赛复盘
The normal form of the database (first normal form, second normal form, third normal form, BCNF normal form) "recommended collection"
update data table update
TRACE32 - SNOOPer-based variable logging
基于最小二乘法和SVM从天气预报中预测太阳能发电量(Matlab代码实现)
NC | 斯坦福申小涛等开发数据可重复分析计算框架TidyMass
工程流体力学复习
名创优品斥资6.95亿购买创始人叶国富所持办公楼股权
The R language ggstatsplot package ggbarstats function visualizes bar charts, and adds hypothesis test results (including sample number, statistics, effect size and its confidence interval, significan
STM32(十)------- SPI通信
Ubuntu Topic 5: Setting a Static IP Address
乡村基冲刺港交所:5个月期内亏2224万 SIG与红杉中国是股东
Matlab matrix basic operations (definition, operation)