MySQL Replication 拓扑图

本文介绍了MySQL复制的多种拓扑结构,包括一主多备、双主复制、主动-被动双主、拥有备库的双主、环形复制、主库-分发主库-备库和树形复制。每个拓扑都有其特点和适用场景,如一主多备的简单高效,双主复制的高可用性,以及环形复制的潜在风险。作者给出了对各种拓扑的推荐指数,帮助读者理解和选择适合的复制策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     朴实简单的才是真、那些高端洋气的复制拓扑纯属自虐
     实施复制大概会有 4 个原则:
     
     ① 一个主库可以有多个备库
     ② 一个备库只能有一个主库
     ③ 每个备库 Server ID全局唯一
     ④ log_slave_updates 有薪火相传之效用
     

     下面简单谈谈几种复制的拓扑设计、至于他们的优缺点以及适用场景留待后续慢慢献上


     
     
㈠ 一主一备

     


        
        短评:最简单的拓扑

        推荐指数:★★★★★


        



     ㈡ 一主多备

### MySQL MGR (Group Replication) 架构概述 MySQL MGR 是一种基于 Paxos 协议的分布式复制技术,旨在提供高可用性和可扩展性的解决方案[^3]。其核心目标是通过组复制机制,在多个节点之间同步数据并保持一致性。以下是关于 MySQL MGR 的架构描述: #### 1. **MGR 架构层次** MGR 的整体架构由以下几个层次组成[^4]: - **API 层**: 接收来自应用程序的 SQL 请求,并将其传递给下一层。 - **组件层**: 负责捕获事务的相关信息,并对其进行初步处理。 - **复制协议模块层**: 处理事务的传输逻辑,确保事务能够在不同节点间传播。 - **GCS API + Paxos 引擎层**: 使用 Paxos 协议来保证事务在各节点上的最终一致性。 #### 2. **关键概念** - **单主模式与多主模式**: - 单主模式(Single Primary Mode)允许只有一个主节点接受写操作,其他节点作为只读副本[^3]。 - 多主模式(Multi Primary Mode)允许多个节点同时接收写请求,适合需要高并发写的场景。 - **Paxos 协议**: Paxos 是一种用于解决分布式系统中一致性的算法,MGR 借助该协议实现了跨节点的数据同步和故障恢复[^3]。 - **GTID 和 ROW 格式**: MGR 利用了全局事务 ID(Global Transaction Identifier, GTID)以及基于行的日志格式(Row-Based Binary Log),以确保数据的一致性和可靠性。 #### 3. **典型架构图说明** 虽然无法直接展示图片,但可以通过文字描述典型的 MGR 集群拓扑结构: - 集群通常由至少三个节点组成,这些节点通过网络相互通信。 - 每个节点运行独立的 MySQL 实例,并维护一份完整的数据副本。 - 数据流经以下路径完成同步: 1. 应用程序向某个节点发送事务请求; 2. 该节点将事务广播至整个集群; 3. 所有节点验证事务的有效性并通过 Paxos 达成共识; 4. 如果达成一致,则提交事务;否则回滚。 下面是伪代码表示如何初始化一个简单的三节点 MGR 配置[^2]: ```sql -- 在 my.cnf 文件中配置参数 [mysqld] server_id=1 gtid_mode=ON enforce_gtid_consistency=ON log_bin=mysql-bin binlog_format=ROW transaction_write_set_extraction=XXHASH64 plugin_load_add='group_replication.so' bind-address = 0.0.0.0 port = 3306 report_host = 192.168.0.101 group_replication_group_name="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" group_replication_start_on_boot=OFF group_replication_local_address="192.168.1.101:33061" group_replication_group_seeds="192.168.1.101:33061,192.168.1.102:33061,192.168.1.103:33061" group_replication_bootstrap_group=OFF group_replication_single_primary_mode=ON group_replication_enforce_update_everywhere_checks=OFF auto_increment_increment=3 auto_increment_offset=1 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值