Nginx 高可用架构
什么是高可用:高可用(High Availability,HA)是指系统能够持续提供服务的能力,通常用可用性百分比来衡量。高可用的核心目标是消除单点故障,确保当某个组件发生故障时,系统仍能继续 正常运行。单点故障问题:在单机部署中,Nginx 服务器就是一个单点。。一旦该服务器出现硬件故障,网络中断或服务崩溃,整个系统将无法对外提供服务。高可用架构通过部署多个节点来解决这个问题。可用性级别百分比年
Nginx 高可用架构
理解高可用架构的概念和重要性
掌握 Keepalived 的⼯作原理和配置方法 学
会配置 Nginx 主备高可用集群
掌握 Nginx 双主高可用架构的实现
了解健康检查和故障自动切换机制
理论知识
高可用架构概述
什么是高可用:
高可用(High Availability,HA)是指系统能够持续提供服务的能力,通常用可用性百分比来衡量。
高可用的核心目标是消除单点故障,确保当某个组件发生故障时,系统仍能继续 正常运行。
单点故障问题:
在单机部署中,Nginx 服务器就是一个单点。。一旦该服务器出现硬件故障,网络中断或服务崩溃,整个系统将无法对外提供服务。
高可用架构通过部署多个节点来解决这个问题。
| 可用性级别 | 百分比 | 年停机时间 | 说明 |
|---|---|---|---|
| 基本可用 | 99% | 3.65天 | 两个9 |
| 较高可用 | 99.9% | 8.76小时 | 三个9 |
| 高可用 | 99.99% | 52.6分钟 | 四个9 |
| 极高可用 | 99.999% | 5.26分钟 | 五个9 |
可用性 = [MTBF / (MTBF+ MTTR)] * 100%
其中:
#企业的指标——KPI
MTBF(Mean Time Between Failure)表示平均故障间隔时间,即系统正常运行的平均时长;
MTTR(Mean Time To Recovery)表示平均恢复时间,即从故障发生到恢复正常所需的时间
常见的可用性等级及其对应的年停机时间如下:
99.9%(“三个9”):年停机时间约8.76小时;
99.99%(“四个9”):年停机时间约52.6分钟;
99.999%(“五个9”):年停机时间约5.26分钟。
在阿里云产品中,例如表格存储(Tablestore)提供 99.99% 的服务可用性保障
,而数据总线 DataHub 承诺 不低于 99.9% 的服务可用性

Keepalived 工作原理
VRRP 协议:
Keepalived 基于 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议) 实现高可用。
VRRP 的核心思想是将多台物理路由器虚拟成一个逻辑路由器,对外提供统一的虚拟 IP 地址(VIP)
工作机制:
在 VRRP 组中,根据优先级选举出⼀台 Master 节点,其他节点作为 Backup。
Master 节点持有 VIP 并处理所有流量。
Master 定期向 Backup 发送心跳报⽂(默认1次/秒)。
当 Backup 在指定时间内未收到心跳,则认为 Master 故障,优先级最高的 Backup 将接管 VIP。

| 概念 | 说明 |
|---|---|
| VIP | 虚拟 IP ,对外提供统一地址 |
| VRID | 虚拟路由 ID,同一组节点使用相同 VRID |
| Priority | 优先级,数值越大优先级越高(1-254) |
| Preempt | 抢占模式,高优先级节点恢复后是否抢回 VIP |
| Advertisement | 心跳间隔,Master 发送通告的时间间隔 |
高可用架构模式
主备模式(Active-Standly):
⼀台 Master 提供服务,⼀台或多台 Backup 待命。Master 故障时 Backup 接管。
优点是配置简单,缺点是备机资源闲置。
双主模式(Active-Active):
两台服务器互为主备,各自持有不同的 VIP。
两台服务器都处理流量,资源利用率更高。
需要 DNS 轮询或其他方式分配流量。
多主模式:
多台服务器组成集群,配合负载均衡器(如 LVS)使用。适合大规模、高并发场景。
| 模式 | 资源利用率 | 复杂度 | 适用场景 |
|---|---|---|---|
| 主备 | 50% | 低 | 中小型系统 |
| 双主 | 100% | 中 | 中型系统 |
| 多主+LVS | 100% | 高 | 大型系统 |
50% | 低 | 中小型系统 |
| 双主 | 100% | 中 | 中型系统 |
| 多主+LVS | 100% | 高 | 大型系统 |
更多推荐


所有评论(0)