暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 高可用(HA)参考架构:Oracle 官方指引(适配 Dev/Test/ 核心 Prod)与停机风险应对

热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多宝贵地意见,我们一起提升,守住自己的饭碗。

关注公众号,技术道路不迷路

 

 

 

文章的脑图:

一、引言:MySQL高可用参考架构的定位与目标

  1. 1. IT的核心价值:IT是企业获取竞争优势、降低成本、强化客户关系的关键,不间断可用性成为核心需求。
  2. 2. 架构定位:MySQL高可用(HA)参考架构提供HA与灾难恢复(DR)最佳实践框架,支持本地、云、混合部署场景,确保数据库与应用在计划内(维护)和非计划内(故障)事件中的可用性。
  3. 3. 架构层级设计:提供4个标准参考架构(Bronze、Silver、Gold、Platinum),每个层级通过“最优技术组合”实现目标服务级别,平衡成本与复杂度。

二、停机的影响与成本:凸显高可用必要性

停机具有普遍性与高成本特性,具体数据如下表所示:

停机相关指标
关键数据
平均每小时停机成本
$350K
企业年平均停机时长
87小时
数据中心非计划中断平均损失
$10M
遭遇过非计划数据中心中断的企业占比
91%

官方强调:企业需通过robust IT基础设施、主动监控、有效DR计划缓解停机风险。

三、混沌工程:验证系统韧性的关键实践

  1. 1. 定义:通过主动“破坏”系统(模拟故障场景),验证系统抵御生产环境动荡事件的韧性,核心是“打破以换取安心”。
  2. 2. 核心测试场景
    • • 基础设施故障:网络、服务器、存储故障,电源/站点故障(如飓风)
    • • 人为与数据问题:人为错误、数据损坏
    • • 软件与配置变更:应用/数据库/服务器软件更新、数据重组、应用优化
  3. 3. 战略价值:对需保障“持续运行”的企业,投入混沌工程是战略必需,可最小化不可预见事件的影响。

四、MySQL高可用核心框架:适用场景与运维支持

  1. 1. 适用场景
    • • 优化现有MySQL部署
    • • 设计新系统(预判故障与维护需求)
    • • 指导应用开发者:设计“容错应用”,利用Application Continuity透明处理故障
  2. 2. 监控、运维与自动化
    • • 核心HA技术:依托MySQL原生技术简化部署,包括:
      • • InnoDB Cluster:支持Active/Active、自动集群成员管理、自动故障转移
      • • InnoDB ReplicaSet:单区域内的主从服务器架构
      • • InnoDB ClusterSet:跨多区域的主从集群架构
    • • 关键工具集:提供配置、监控、运维工具,具体如下表:
工具/产品
核心功能
技术特性
MySQL Enterprise Backup
热物理备份
快速、最小锁、支持完整/增量备份
MySQL Router
连接路由与负载均衡
提升用户体验、自动故障转移路由
MySQL Shell
自动化与脚本执行
支持JS/Python/SQL、标准自动化脚本
MySQL Group Replication
容错复制
自动成员管理、自动恢复、非阻塞
MySQL Binlog
日志备份与恢复
支持PITR(时间点恢复)、近零数据丢失

五、四大参考架构:层级差异与核心特性

1. Bronze架构:基础级HA(Dev/Test/非关键Prod)
  • • 定位:适用于“简单重启/备份恢复即可满足HA需求”的场景(如测试、开发、非关键生产库),以最低成本提供基础数据库服务。
  • • 服务级别(RTO/RPO)
事件类型
RTO/RPO服务级别目标
可恢复节点/实例故障
RTO:分钟-小时
灾难(损坏/站点故障)
RTO:小时-天;RPO:备份后数据可能丢失(Binlog可近零)
计划维护(软/硬件更新)
RTO:分钟-小时
重大数据库升级
RTO:分钟-小时
  • • 备份策略:支持4种备份方式,平衡备份时长、存储与恢复效率:
备份方法
备份特性
恢复特性
完整备份
备份时间最长、存储占用最大(压缩可省空间)
恢复简单、速度快;RPO:丢失至上次完整备份
完整+增量备份
备份时间最短、存储需求低(需额外生产存储)
恢复粒度细;RPO:丢失至上次增量备份;恢复步骤多(先完整后增量)
完整+增量+日志备份
存储需求增加
恢复粒度最细;RPO:近零(至Binlog末尾);恢复最慢(完整→增量→日志)
复制备份副本
备份文件复制至远程存储
RPO取决于备份方法与上次复制时间
  • • 核心技术:单实例数据库、MySQL Enterprise Backup、Binlog(PITR)、本地+远程备份存储。
2. Silver架构:部门级HA(Prod/部门关键库)
  • • 定位:适用于“无法接受冷重启/备份恢复”的生产库(如部门级关键应用),在Bronze基础上新增InnoDB ReplicaSet,减少本地故障与计划维护停机。
  • • 服务级别(RTO/RPO)
事件类型
RTO/RPO服务级别目标
可恢复节点/实例故障
RTO:分钟(需手动故障转移)
灾难(损坏/站点故障)
RTO:小时-天;RPO:备份后数据可能丢失(Binlog可近零)
计划维护(软/硬件更新)
RTO:(需遵循应用最佳实践)
重大数据库升级
RTO:分钟-小时
  • • 备份策略:继承Bronze所有备份方式,新增**“备份卸载至副本”** 特性——将备份负载从主库转移至副本,释放主库资源;恢复时优先故障转移至副本,备份仅作为“最后手段”。
  • • 核心技术:InnoDB ReplicaSet(主从架构)、热备(Hot Standby)、手动故障转移、本地+远程备份。
3. Gold架构:核心业务级HA(零/近零数据丢失)
  • • 定位:适用于“无法容忍长时间停机与数据丢失”的核心业务(如 mission-critical 生产应用),在Silver基础上提供3种架构模式,覆盖本地与跨区域DR。
  • • 服务级别(RTO/RPO)
事件类型
RTO/RPO服务级别目标
可恢复节点/实例故障
RTO:个位数秒级
灾难(损坏/站点故障)
RTO:小时-天;RPO:备份后数据可能丢失(Binlog可近零)
计划维护(软/硬件更新)
RTO:(需遵循应用最佳实践)
重大数据库升级
RTO:分钟-小时
  • • 核心模式(3种)
    1. 1. Pattern 1 - 远程备用:通过InnoDB ClusterSet实现“生产库+远程同步备用库”,消除单点故障,灾难时RTO/RPO低。
    2. 2. Pattern 2 - 多备用数据库:本地备用库(同区域不同故障域)+ 远程备用库,本地故障时“零数据丢失+秒级停机”,区域灾难时可故障转移至远程。
    3. 3. Pattern 3 - 远程备用读集群:继承Pattern 2优势,新增“多备用库支持只读操作”,实现本地与跨区域读扩展。
  • • 核心技术:InnoDB ClusterSet、自动故障转移、同步HA(低延迟)、MySQL Router(透明故障转移)。
4. Platinum架构:极端关键业务级HA(零停机)
  • • 定位:适用于“需零停机”的极端关键业务,在Gold基础上新增双向异步复制,支持迁移、升级零停机。
  • • 服务级别(RTO/RPO)
事件类型
RTO/RPO服务级别目标
可恢复节点/实例故障
RTO:零-秒级(需自定义应用故障转移)
灾难(损坏/站点故障)
RTO/RPO:(需自定义应用故障转移)
计划维护(软/硬件更新)
RTO:(需遵循应用最佳实践)
重大数据库升级
RTO:(需自定义应用故障转移)
  • • 核心优势
    • • 支持单向/双向复制,可在任意副本读写(需应用适配多主避免冲突);
    • • 副本支持不同平台/版本/配置,实现“在线迁移与升级”;
    • • 应用可零停机切换至副本(需自定义服务管理)。
  • • 核心技术:双向异步复制、多主多区域架构、InnoDB ClusterSet、自定义应用故障转移。

六、结论:高可用的基础保障与工具支持

  1. 1. 基础要求:所有数据库需运行在可靠系统平台上,且需通过监控“主动检测、预防、恢复”问题(避免影响可用性)。
  2. 2. 核心监控工具:Oracle Enterprise Manager、OCI Observability and Management(MySQL战略监控平台)。
  3. 3. 整合支持:OCI HeatWave持续整合所有MySQL参考架构、配置最佳实践与生命周期操作,简化高可用部署。

七、附录:关键术语与技术补充

核心术语

  • • RTO(Recovery Time Objective):故障后恢复时间;
  • • RPO(Recovery Point Objective):故障后可接受的数据丢失量;
  • • SLA(Service Level Agreement):服务级别协议(RTO/RPO直接影响SLA)。
  • • 关键技术
    • • MySQL Group Replication:基于Paxos算法,支持单主/多主模式,自动成员管理与故障检测;
    • • Hot Backup:MySQL Enterprise Backup提供的“热备”,备份时InnoDB读写不中断,支持PITR;
    • • 快速重启:InnoDB通过保存缓冲池页面,减少重启后预热时间。

问题1:企业在选择MySQL高可用架构(Bronze/Silver/Gold/Platinum)时,应优先考虑哪些核心因素?

答案:需优先考虑3个核心因素,确保架构与业务需求匹配:

  1. 1. 业务关键性:非关键场景(Dev/Test/低优先级Prod)选Bronze;部门级关键场景选Silver;核心业务(零/近零数据丢失需求)选Gold;极端关键(零停机需求)选Platinum。
  2. 2. 可接受的RTO/RPO:若可接受“小时-天级RTO”(如测试库),Bronze足够;若需“分钟级RTO”(部门Prod)选Silver;若需“秒级RTO”(核心业务)选Gold;若需“零RTO/RPO”(极端关键业务)选Platinum。
  3. 3. 成本与复杂度平衡:Bronze成本最低、复杂度最低(单实例+基础备份);Platinum成本最高、复杂度最高(双向复制+多主多区域),需根据预算与运维能力选择。

问题2:在非计划内节点/实例故障场景下,MySQL四个高可用架构的RTO(恢复时间目标)有何核心差异?造成差异的关键技术是什么?

答案:各架构RTO差异及关键技术如下表所示,核心差异源于“故障转移机制”与“架构冗余度”:

架构层级
非计划内节点/实例故障RTO
造成差异的关键技术
Bronze
分钟-小时
单实例+自动重启(无冗余,依赖恢复)
Silver
分钟
InnoDB ReplicaSet(主从冗余,手动故障转移)
Gold
个位数秒级
InnoDB ClusterSet(自动故障转移,同步HA)
Platinum
零-秒级
双向异步复制+多主多区域(自定义零停机故障转移)

问题3:Gold架构的三种模式(Remote Standby、Multiple Stand-by Databases、Remote Standby Reader Farm)在设计目标与适用场景上有何本质区别?

答案:三种模式的设计目标与适用场景存在明确差异,核心区别在于“冗余范围”与“功能扩展”:

  1. 1. Remote Standby(远程备用)
    • • 设计目标:通过“生产库+远程同步备用库”消除单点故障,保障跨区域DR;
    • • 适用场景:核心业务需“跨区域灾难恢复”,但对本地读扩展无需求(如单一区域生产,需异地备份)。
  2. 2. Multiple Stand-by Databases(多备用数据库)
    • • 设计目标:本地备用库(同区域故障域隔离)保障“本地零数据丢失+秒级停机”,远程备用库保障跨区域DR;
    • • 适用场景:核心业务需“本地高可用+跨区域DR”,且对本地故障恢复速度要求极高(如OLTP应用,需低延迟)。
  3. 3. Remote Standby Reader Farm(远程备用读集群)
    • • 设计目标:继承Multiple Stand-by Databases的HA/DR能力,新增“多备用库支持只读操作”,实现读扩展;
    • • 适用场景:核心业务需“本地HA+跨区域DR+读负载分担”(如读密集型应用,需通过多副本分散读压力)。
官方链接:https://www.mysql.com/why-mysql/white-papers/mysql-reference-architectures-for-high-availability/

 



END
往期文章回顾

文中的概念来源于互联网,如有侵权,请联系我删除。

欢迎关注公众号:小周的数据库进阶之路,一起交流AI、数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。



文章转载自小周的数据库进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论