Appearance
Keepalived
Keepalived 是一个用 C 语言编写的路由软件,这个项目的主要目标是为 Linux 系统和基于 Linux 的基础设施提供简单而健壮的负载均衡和高可用性设施。
介绍
Keepalived 的主要功能有哪些?
- 健康检查
- 故障切换
应用
Keepavlied 实现负载均衡
- Keepavlied 配置 virtual_server 来使用健康检查实现负载均衡
与 Nginx 构建高可用负载均衡
- Nginx 负责负载均衡
- Keepalived 负责高可用,使用 VRRP 实现故障切换,防止单点故障,如需检测 Nginx 运行状态来关闭 Keepalived,可添加健康检查调用外部脚本来实现
原理
使用 VRRP 协议,主服务器按间隔发送消息给备份服务器,当备份服务器收不到主服务器的 VRRP 报文,则会判定主服务器已下线,开启其他服务来接替原主服务器, 原备份服务器升级为主服务器,当原主服务器恢复后,则变成备份服务器添加到系统中
问题
一台服务器同时安装了 Nginx 与 Keepalived,怎样保证 Nginx 中断后 Keepalived 立即响应?
可检测 Nginx 运行状态来关闭 Keepalived,添加健康检查调用外部脚本来实现
Keepalived 启动后为什么有3个进程?
- 进程1 用于管理其他两个进程,加载解析配置
- 进程2 用于健康检查
- 进程3 用于 VRRP 通信