首页/云/云平台与虚拟化速查/多可用区部署要点
云基础与账号46 条

多可用区部署要点

把业务分层部署到多个可用区,是抵御单机房故障的常规做法;需要同时考虑接入层、计算层与数据层的跨 AZ 方案。

云平台与虚拟化速查云更新于 2026-10-13

多可用区部署是什么

把业务分层部署到多个可用区,是抵御单机房故障的常规做法:接入层在后端池里跨可用区挂载实例,计算层按可用区均匀分布,数据层把主备或副本分散到不同可用区。真正的难点不在部署形态,而在应用是否能在单个可用区整体失效时继续提供服务。

分层落地方式

层次建议做法说明
接入层负载均衡跨可用区挂载后端后端池中两个可用区各有健康实例
计算层实例按可用区均匀分布配合弹性伸缩组的多可用区配置,避免单区扩容失败
数据层主备或副本跨可用区数据库高可用版与对象存储的多副本是常见基础
中间件会话与队列外置会话不落在单实例内存中,队列要有重试机制

落地时的检查项

  • 确认负载均衡后端池已覆盖两个可用区,且健康检查口径与业务一致
  • 应用具备超时、重试与熔断逻辑,跨可用区调用异常时不会整体挂起
  • 会话数据外置到缓存或数据库,避免实例切换导致用户掉线
  • 数据库与缓存的主备节点分布在不同可用区,并验证过切换流程
  • 容量按单可用区失效后剩余资源仍可承载来预留,而不是按五五分摊
  • 扩缩容、发布与故障演练都在两个可用区同时验证

核对部署分布

核对部署分布
aliyun ecs DescribeInstances --RegionId cn-hangzhou --PageSize 50   # 查看实例所在可用区分布
aliyun slb DescribeLoadBalancerAttribute --LoadBalancerId lb-bp1xxxx   # 查看后端池与可用区覆盖
aliyun ess DescribeScalingGroups --RegionId cn-hangzhou               # 核对伸缩组的可用区配置
# 把实例清单按可用区分组统计,确认没有明显偏斜
跨可用区部署不等于自动高可用:应用需要能容忍单可用区全量实例失败,包括连接超时、重试次数与容量承接。只在架构图上画了两个可用区,而应用在依赖超时时整体阻塞,故障时仍会全站不可用。
把跨可用区纳入变更流程:扩缩容、发布与演练都要在两个可用区同时验证,避免只在单个可用区验证通过。演练时主动停掉一个可用区的实例,观察业务是否按预期降级而不是直接失败。

易错点

  • 误以为开了多可用区就等于容灾:数据库仍是单节点,数据层故障时业务照样中断
  • 会话数据保存在单实例内存里:实例切换或可用区故障后用户集体掉线
  • 容量按五五分摊预留:单可用区失效后剩余容量无法承接全部流量,服务降级为不可用
  • 健康检查口径与业务不一致:只探端口存活,进程假死时流量仍被导入
  • 只在单个可用区做发布验证:另一可用区的配置差异在故障切换时才暴露

数据来源与参考

  • 阿里云 高可用架构设计文档
  • 腾讯云 跨可用区高可用部署文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌