多主复制的适用场景(1)-多IDC

简介: 之前都是单主的主从复制架构,主从复制有个明显缺点:只有一个主节点,而所有写都必须通过它1。万一和主节点之间的网络中断而导致无法连接到主节点,主从复制方案就影响所有DB写入操作。

3 多主复制


之前都是单主的主从复制架构,主从复制有个明显缺点:只有一个主节点,而所有写都必须通过它1。万一和主节点之间的网络中断而导致无法连接到主节点,主从复制方案就影响所有DB写入操作。


对主从复制模型进行扩展,则可配置多个主节点,每个主节点都能处理写,后面复制的流程类似:处理写的每个【主节点】都必须将该数据更改转发到所有其他节点 。这就是多主节点(也称为主-主,或主动/主动)复制。 此时,每个主节点还同时扮演其他主节点的从节点。


3.1 适用场景


在一个IDC内部使用多个主节点没啥大意义,因复杂性远超带来的好处。 但某些case,多活配置也合理:


3.1.1 多IDC


为容忍整个IDC级别故障或更接近用户,可将DB的副本横跨多个IDC。而若使用常规的主从复制模型,主节点必须位于其中一个IDC,且所有写请求都须经过该IDC。


有了多主节点复制模型,则能在每个IDC都配置主节点,如图-6所示基本架构:


在每个IDC内,采用主从复制

IDC之间,由各个IDC的主节点负责和其它IDC的主节点进行数据交换、更新


10.png

比较多数据中心时,单主和多主:


性能


单活,每个写入须穿过互联网,进入主节点数据中心。这可能会大大增加写延迟,并违背设置多数据中心的初心(就近访问)

多活,每个写操作都能在本地IDC快速响应,然后采用异步复制将变化同步到其它IDC。因此,对上层应用有效屏蔽了IDC之间的网络延迟,使得终端用户所体验到的性能更好

容忍数据中心停机


主从复制下,若M所在IDC故障,必须切换至另一个IDC,将其中的1个从节点提升为M。多主模型中,每个IDC则可独立于其他IDC继续运行,发生故障的数据中心在恢复之后更新到最新状态。


容忍网络问题


IDC之间的通信通常经由广域网,大多不如IDC内的本地网络可靠。单主配置对这数据中心间的连接问题非常敏感,因为通过这个连接进行的写操作是同步的。采用异步复制功能的多活配置通常能更好地承受网络问题:临时的网络中断并不会妨碍正在处理的写入。


有些数据库默认情况下支持多主配置,但使用外部工具实现也很常见,如MySQL的Tungsten Replicator。


尽管多主复制有这些优势,但也有一个很大的缺点:两个不同IDC可能会同时修改相同的数据,写冲突必须解决(图-6中conflict resolution)。


由于多主复制在许多数据库中只是新增功能,所以还存在微妙的配置缺陷,与其他数据库功能如自增主键、触发器、完整性约束之间,交互有时会出现意外。因此,很多人觉得多主复制比较危险,应尽可能避免。


若DB还采用分区,不同分区可能将主副本放在不同节点,但对给定的某分区,则只有一个主节点 ↩︎

目录
相关文章
|
容灾 关系型数据库 数据库
将旧集群的数据备份迁移到新集群。
将旧集群的数据备份迁移到新集群。
144 1
|
4月前
|
监控 Cloud Native 关系型数据库
【跨区域PolarDB-MySQL主备互通】:揭秘如何跨越万里实现数据无缝同步,打造坚不可摧的灾备体系!
【8月更文挑战第20天】阿里云PolarDB是一款兼容MySQL协议的云原生数据库服务,提供高性能与高可用性。本文介绍如何在PolarDB-MySQL中实现跨区域主备同步。首先创建主备两个集群,接着通过MySQL复制功能配置同步:获取主节点复制信息、配置备节点复制并启动复制进程。最后,通过`SHOW SLAVE STATUS\G;`监控复制状态,确保数据同步正常。此方法可提升数据的可靠性和可用性,需考虑网络条件对性能的影响。
133 0
|
7月前
|
存储 缓存 安全
【VSAN数据恢复】VSAN集群节点数据迁移失败的数据恢复案例
VSAN存储是一个对象存储,以文件系统呈现给在vSphere主机上。这个对象存储服务会从VSAN集群中的每台主机上加载卷,将卷展现为单一的、在所有节点上都可见的分布式共享数据存储。 对于虚拟机来说,只有一个数据存储,这个分布式数据存储来自VSAN集群中每一台vSphere主机上的存储空间,通过磁盘组进行配置,在单独的存储中存放所有的虚拟机文件。这种数据存储方式比较安全,当闪存盘或者容量盘出现故障的时候,数据会向其他节点转移,在转移过程中有可能出现故障。
|
6月前
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之存储热备集群是否可以关闭
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6月前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之多主集群配置多个全局只读节点最多可增加到多少个
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
分布式篇问题之集群(Cluster)模式主控节点的高可用性问题如何解决
分布式篇问题之集群(Cluster)模式主控节点的高可用性问题如何解决
|
存储 Java 数据库
clickhouse集群,双实例多副本集群部署
clickhouse集群,双实例多副本集群部署
|
NoSQL Redis 容器
Redis集群更换节点IP后如何恢复集群并保留完整集群数据
Redis集群更换节点IP后如何恢复集群并保留完整集群数据
184 0
|
关系型数据库 MySQL 数据库
多主复制下处理写冲突(4)-多主复制拓扑
复制的拓扑结构描述了写请求从一个节点传播到另一个节点的通信路径。若有两个主节点,如图-7,只有一个合理拓扑结构:M1必须把他所有的写同步到M2,反之亦然。当有两个以上M,各种不同拓扑都可能的。如图-8说明了一些例子。
128 0
多主复制下处理写冲突(4)-多主复制拓扑
|
存储 弹性计算 关系型数据库
实践教程之如何对PolarDB-X的存储节点发起备库重搭
PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何对PolarDB-X的存储节点发起备库重搭。
下一篇
无影云桌面