前言
之前小编在Nginx初识中介绍了Nginx作为反向代理服务器实现服务器分配资源负载均衡的原理,但是大家可以想一想,如果有一天Nginx服务器宕机了,那用户的请求如何发送到服务器来呢?于是,keepalived作为检查服务器状态的软件来了!
是什么
keepalived是检测服务器的状态的软件,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
三大机制
1.core:是keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
2.check:负责健康检查。
3.vrrp:实现vrrp协议,确定服务器优先级别。
实现机制
上图需要注意,keepalived是和Nginx集成的,也就是部署在了真实IP1和真实IP2这两台服务器中。keepalived将两台真实服务器绑定成一个虚拟IP,用户的请求直发送到这个虚拟IP,也就是说用户只知道了它是与这个虚拟IP进行交互,完全就不知道里面Nginx+keepalived负载均衡机制。用户发送请求到虚拟IP地址,keepalived利用vrrp机制确定主从Nginx服务器,如果主Nginx服务器可以使用,那么接下来走主Nginx服务器,主Nginx服务器分发到真正的Tomcat服务器。如果主服务器宕机,keepalived会自动检测到,会自动走从服务器,实现接下来的负载均衡!这就是keepalived的检测作用,与Nginx一起实现负载均衡!
具体实现
rrp_script check_nginx {
script "/usr/local/keepalived-1.3.4/nginx_check.sh"
interval 3
weight -2
}
vrrp_instance VI_1 {
state MASTER
interface eno00000000
virtual_router_id 30
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_nginx
}
总结
对于Nginx的学习最重要还是实操,之后会相继给大家介绍Nginx和keepalived的安装和配置,以及运行管理!