Nginx与keepalived实现负载均衡

来源:互联网 发布:极速网店管理打印软件 编辑:程序博客网 时间:2024/06/06 01:11

前言

    之前小编在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的安装和配置,以及运行管理!

原创粉丝点击