关注△mikechen△,十余年BAT架构经验倾囊相授!

大家好,我是mikechen。
Nginx是大型架构的必备中间件,下面我就全面来详解Nginx高可用@mikechen
文章来源:mikechen.cc
Nginx高可用
作为负载均衡器的 Nginx 服务器本身出现故障,整个服务就会中断,因此,需要确保 Nginx 服务器本身是高可用。
最常见的 Nginx高可用方案,可以通过 Keepalived 实现 Nginx 实例之间的故障转移。
Keepalived 是一个用 C 语言编写的路由软件,它的主要目标是为 Linux 系统和 Linux 基础设施提供负载均衡和高可用性。

主要功能包括:
实现主备切换(故障转移);
提供虚拟 IP(VIP)漂移机制;
主服务器出现故障时,自动将虚拟 IP(VIP)切换到备用服务器;
监控后端服务存活状态。
Nginx 高可用原理
Nginx 是一个高性能的 反向代理 和 负载均衡 软件,负责接收客户端请求并分发到后端服务器。
Keepalived 则通过 VIP 和 VRRP 协议为 Nginx 提供 高可用性,确保 Nginx 服务在单点故障时不中断。
当主服务器上的 Nginx 发生故障时,Keepalived 会将 VIP 切换到备用服务器,确保客户端请求能够继续被处理。
整体架构,如下图所示:

在 Nginx Keepalived 架构中,一般配置两台或多台服务器,一台为主服务器,其余为备用服务器。
主服务器负责处理主要的 Web 请求,备用服务器作为备份。
虚拟 IP(VIP)是客户端访问的统一入口,正常情况下绑定在主服务器上。
整体配置,如下所示:
+-------------------------+|虚拟IP(VIP)|+-----------+-------------+|+----------+----------+||+-------v-------++-------v-------+|Nginx主节点||Nginx备节点||(Master)||(Backup)|+---------------++---------------+||+---v---++----v----+|后端服务池||后端服务池|+--------++---------+
工作机制,如下:
正常时:主节点绑定 VIP,对外提供服务;
故障时:Keepalived 检测主节点异常;
切换时:VIP 自动漂移到备节点,服务不中断;
对客户端而言始终访问 VIP,不感知后端变更。
通过 Keepalived 的故障检测和切换功能,Nginx 服务可以在主服务器故障时快速切换到备用服务器,确保服务的可用性。
以上
文章来源:mikechen.cc
收藏了,感谢分享