文档中心>云数据库 MongoDB>操作指南>管理可用区>多可用区(Multi-AZ)部署方案

多可用区(Multi-AZ)部署方案

最近更新时间:2026-07-07 10:16:30

我的收藏

基本介绍

可用区(Availability Zone,AZ)是指在同一地域(Region)内,电力和网络相互独立的物理数据中心。多可用区高可用方案通过将 MongoDB 的主、从节点分散部署于多个可用区,实现跨可用区级容灾。当单可用区因基础设施故障中断时,系统可自动将服务切换至健康可用区,保障业务连续性。
业务连续性:规避单可用区故障风险,适用于金融交易、政务管理、电商核心链路等高可用要求场景。
合规性要求:满足金融、政务等行业监管对数据同城冗余备份的合规性标准。
说明:
本文涉及主节点(Primary)、从节点(Secondary)、隐藏节点(Hidden)、只读节点(ReadOnly)等副本集节点角色,相关定义与职责详见官方文档 集群架构。本文重点介绍多可用区场景下节点的部署方式与容灾机制。
云数据库 MongoDB 提供三可用区(3AZ)双可用区两种部署方案,均具备可用区级容灾能力。双可用区提供1 + 1 + 1(双 AZ + 跨地域 Hidden)2 + 2(双 AZ 各2节点)两种方案。

三可用区(3AZ)方案

三可用区方案基于数据库原生共识协议,由3个各承载一份完整数据的副本组成,均匀分布于三个物理隔离的可用区,实现可用区级容灾。
节点分布:副本均匀分布于三个独立的可用区(AZ1、AZ2、AZ3),每区各部署1个投票节点,形成1 + 1 + 1的对等结构。
高可用与容灾机制:基于多数派选举协议,当单可用区故障导致主节点不可用时,剩余两个可用区仍有2个存活投票节点,满足多数派阈值(3投票节点架构下为2),可自动触发选主并完成业务无缝迁移,全程无需人工或外部管控平台干预。
数据一致性:配合写关注(Write Concern)设置为 majority,可确保在单可用区级故障发生时,已提交的数据不丢失。


双可用区容灾方案

双可用区适用于当前地域仅提供两个可用区的场景,推荐1 + 1 + 1(双 AZ + 跨地域 Hidden)2 + 2(双 AZ 各2节点) 两种部署方案,两者均具备可用区级容灾能力。

1 + 1 + 1方案(双 AZ + 跨地域 Hidden)

1 + 1 + 1方案由3个投票节点(Primary、Secondary、Hidden) 构成:Primary 与 Secondary 分别部署在业务地域的两个可用区,Hidden 节点部署在另一个临近地域。借助这一跨地域的第三个投票节点,业务地域任一可用区故障时副本集仍满足多数派,可像三可用区方案一样自动完成选主,无需管控平台介入;同时因 Hidden 位于独立地域,集群额外具备地域级容灾能力,整体服务能力与同地域三可用区部署相同。


2 + 2(双 AZ 各2节点) 方案

2 + 2方案将全部节点部署在业务地域的两个可用区内,共4个节点(3个投票节点 + 1个只读节点),无跨地域写延迟,由数据库原生协议与管控平台协同处理可用区级故障。
节点分布:副本集由3个投票节点(Primary、Secondary、Hidden)+ 1个只读节点(ReadOnly)构成,按"每个可用区2个节点"的对等原则部署;由于3个投票节点无法在2个可用区间均匀分布,必然形成一区持有2个、另一区持有1个的2:1非对称结构
高可用与容灾机制:2 + 2方案具备可用区级容灾能力,任一可用区故障时服务均可恢复;在多数派写入策略下,可保障已成功写入的数据不发生回滚。但由于投票节点在两个可用区之间分布不均匀,两侧故障后的影响并不对等,其恢复路径存在差异:
持有1个投票节点的可用区故障:存活侧仍持有2个投票节点,满足多数派,副本集自动维持或选举 Primary,业务秒级恢复。
持有2个投票节点的可用区故障:存活侧仅剩1个投票节点,不满足多数派条件,副本集无法自主选举,需管控平台介入重新分配投票权并提升新 Primary;期间只读节点仍可对外提供访问,保障读业务不中断。
待故障可用区恢复后,系统均会自动自愈:通过自动重建原节点并回放 oplog 追平增量数据,最终回到健康的2 + 2初始形态。

说明:
与依赖跨地域 Hidden 的1 + 1 + 1不同,2 + 2的全部节点均在业务地域内,无跨地域写延迟;发生可用区级故障时由管控平台自动切换,切换后存活可用区仍保持主从高可用结构,故障可用区恢复后自动回到2 + 2形态。

业务接入建议

应用部署:应用层同样采用多可用区部署,并就近接入对应可用区的 MongoDB 节点,降低跨可用区访问延迟。
配置建议:在“双 AZ + 跨地域 Hidden”(1 + 1 + 1)方案下,开启读/写多数派的业务,需防范主/从节点故障时,Hidden 节点跨可用区延迟引发的业务读写耗时增加以及可能的实例负载升高。建议提前评估极端切换场景下的业务耐受度;对延迟和负载敏感的业务,可在节点故障期间采取降级策略,如非敏感业务临时取消读写多数派,或者对业务进行限流。