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% | 高 | 大型系统 |

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐