{T}

高可用架构 学习笔记

一、高可用架构概述

1.1 什么是高可用?

定义:High Availability Architecture(高可用架构),是一种系统设计方法,目标是确保系统在大部分时间都能正常运行,即使在出现硬件故障、系统升级或其他潜在问题时,也能保持运行。

核心目标

code
高可用目标:

"没日没夜都能正常运行"

├── 减少停机时间(计划内 + 意外)
├── 应对硬件故障
├── 应对系统升级
└── 应对其他潜在问题

1.2 高可用度量指标

可用性等级

可用性等级可用性百分比年停机时间典型应用场景
1个990%36.5天个人博客
2个999%3.65天内部系统
3个999.9%8.76小时Web服务
4个999.99%52.6分钟企业应用
5个999.999%5.26分钟金融系统
6个999.9999%31.5秒核心基础设施

计算公式

javascript
// 可用性计算
const availabilityCalculation = {
  formula: '可用性 = (总时间 - 停机时间) / 总时间 × 100%',
  
  example: {
    totalTime: 365 * 24 * 60,  // 一年总分钟数
    downtime: 8.76 * 60,       // 停机时间(分钟)
    availability: ((365 * 24 * 60 - 8.76 * 60) / (365 * 24 * 60) * 100).toFixed(3)
    // 结果:99.9%
  },
  
  // 不同等级的年停机时间
  levels: {
    '99%': 3.65 * 24 * 60,      // 3.65天
    '99.9%': 8.76 * 60,         // 8.76小时
    '99.99%': 52.6,             // 52.6分钟
    '99.999%': 5.26,            // 5.26分钟
    '99.9999%': 0.526           // 31.5秒
  }
}

1.3 高可用三大保障场景

code
高可用三大保障场景:

┌─────────────────────────────────────────┐
│  1. 本地高可用                           │
│     ├── 消除系统故障、硬件故障           │
│     └── 生产环境内部故障                 │
├─────────────────────────────────────────┤
│  2. 业务逻辑保护                         │
│     ├── 人为失误                         │
│     └── 软件错误                         │
├─────────────────────────────────────────┤
│  3. 容灾多活                             │
│     ├── 区域性灾难                       │
│     └── 天然灾害                         │
└─────────────────────────────────────────┘

二、三大保障场景详解