news 2026/4/30 23:40:28

Availability(可用性)与高可用架构 内容的结构化知识点汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Availability(可用性)与高可用架构 内容的结构化知识点汇总

一、什么是 Availability(可用性)

  • Availability = 系统在一年中可正常提供服务的时间比例

常见两种表达方式:

  • 百分比(99.9%)

  • N 个 9(three nines)

可用性年宕机时间说法
99%~3.65 天two nines
99.9%~8.77 小时three nines
99.99%~52 分钟four nines
99.999%~5 分钟five nines

核心认知:每多一个 9,成本会急剧上升

二、提升可用性的本质:冗余(Redundancy)

要提高可用性,就必须 增加冗余:

  • 更多服务器

  • 更多数据副本

  • 更多数据中心 / 可用区

现实约束:

  • 冗余 ≠ 免费

  • 需要在“可用性”和“成本/收益”之间做取舍

三、单点故障(Single Point of Failure)

当前架构的问题

  • 只有 1 台 EC2

  • 即使:

    • DynamoDB 是高可用的

    • S3 是高可用的

  • EC2 挂了 = 应用完全不可用

结论:单实例 = 单点故障

四、最基础的改进:增加第二台 EC2

但位置非常关键

如果两台 EC2:

在同一台物理服务器 ❌

在同一个机架 ❌

在同一个数据中心 ❌

在同一个 AZ ❌

仍然可能一起挂

正确做法

  • 部署在不同的 Availability Zone(AZ)

这样可以防止:

  • 硬件故障

  • 机架故障

  • 数据中心级别问题

  • AZ 级别中断

五、多实例带来的新挑战(重点)

当你有多台服务器时,会遇到 三个新问题:

1️⃣ 配置与应用复制(Replication)

需要保证:

  • 应用代码一致

  • 配置文件一致

  • 补丁版本一致

✅ 最佳实践:

自动化(CI/CD、AMI、启动脚本)

避免手工操作

2️⃣ 客户请求如何分发(Redirection)
方案一:DNS

一个域名 → 多个 IP

问题:

  • DNS 有 传播延迟

  • 客户端缓存不可控

  • ❌ 不适合快速切换

方案二:负载均衡(推荐)

  • 位于客户端和服务器之间

优势:

  • 自动健康检查

  • 自动流量分发

  • 无 DNS 传播延迟问题

📌 生产环境的主流选择

3️⃣ 高可用架构模式选择(必考)

六、高可用架构的两种模式

① Active–Passive(主备)

  • 特点

同时只有一台在对外服务

另一台待命

  • 优点

适合 有状态应用

会话始终在同一台服务器

  • 缺点

资源利用率低

扩展能力弱

② Active–Active(双活)

  • 特点

多台实例同时对外提供服务

流量分摊

  • 优点

高可用 + 高扩展

性能更好

前提

应用必须是 无状态(Stateless)

会话数据存放在:

DynamoDB

Redis

数据库

Cookie / Token

📌 云原生架构的首选模式

七、有状态 vs 无状态(隐含重点)

类型是否适合 Active-Active
有状态(Session 在本机)
无状态(Session 外置)

八、核心结论速记(考试版)

  • Availability 用 % 或 “几个 9” 表示

  • 提高可用性 = 增加冗余 = 增加成本

  • 单 EC2 = 单点故障

  • 高可用必须跨 Availability Zone

  • DNS 有传播延迟

  • 负载均衡是首选

  • Active-Active 适合无状态应用

  • Active-Passive 适合有状态应用

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:06:02

绝了,一款神仙工具,值得收藏

今天给大家推荐一款好用的图像拆分和格式互转软件,这款软件没有广告,非常好用,有需要的小伙伴可以下载收藏。 lmage Splitter 图像拆分和格式互转 软件不需要安装,下载好了之后解压打开就可以直接使用了。 软件不仅能够把图像拆成…

作者头像 李华
网站建设 2026/5/1 4:02:41

springboot卷烟物价管理系统vue

目录摘要技术栈开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 SpringBoot与Vue结合的卷烟物价管…

作者头像 李华
网站建设 2026/5/1 5:01:05

springboot基于电商大数据的商城商品推荐系统vue

目录摘要技术栈开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于SpringBoot和Vue的电商商品推…

作者头像 李华
网站建设 2026/5/1 5:04:28

springboot线上家具销售系统的设计与实现vue

目录摘要关键词开发技术核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于SpringBoot和Vue的线上家具销…

作者头像 李华
网站建设 2026/5/1 6:07:40

GCP 路由奇案:一次 FastMCP 部署的深度复盘

GCP 路由奇案:一次 FastMCP 部署的深度复盘 这不只是一篇技术博客,这是一篇战报。它讲述了一个看似简单的部署任务,如何演变成一场长达数小时、穿越 GCP 负载均衡、Envoy、FastAPI 和 MCP 协议层层迷雾的调试之旅。如果你也曾经历过“本地猛如…

作者头像 李华
网站建设 2026/4/28 1:36:43

d3dx9_30.dll文件损坏丢失找不到 打不开软件游戏 免费下载方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华