Nginx负载均衡+Keepalived高可用

zllbirdonland 2019-01-08

nginx 反向代理和负载均衡

Nginx负载均衡的详细配置及使用案例详解.

nginx+keepalived高可用服务器宕机解决方案

nginx + keepalived 双机热备

nginx实现请求的负载均衡 + keepalived实现nginx的高可用

(按顺序看)

双机热备是指两台机器都在运行,但并非两台机器同时在提供服务。

当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,且切换的时间非常短。

keepalived高可用

Keepalived可以用来避免IP单点故障。但是它一般不会单独出现,而是与其它负载均衡技术(如lvs、haproxy、nginx)一起工作来达到集群的高可用。

主要起到两个作用:实现VIP到本地ip的映射以及检测nginx状态。

keepalived是通过检测keepalived进程是否存在判断服务器是否宕机,如果keepalived进程在但是nginx进程不在了那么keepalived是不会做主备切换,所以我们需要写个脚本来监控nginx进程是否存在,如果nginx不存在就将keepalived进程杀掉

首先Keepalived可以在主机上产生一个虚拟的ip, 这里叫做vip(v是virtual的意思):192.168.200.150。

keepalived会将这个vip绑定到交换机上,当用户访问主机:192.168.200.129时,交换机会通过这个ip和vip的对应找到192.168.200.129上的Nginx进行处理。如果当有一天192.168.200.129上的Nginx挂掉的时候, Keepalived会立即在备机上生成一个相同的vip: 192.168.200.150, 当用户继续访问192.168.200.129时, 交换机上已经绑定了vip, 这时发现这个vip是存在于192.168.200.130上面的, 所以直接将请求转发到了备机上。

如果主机被修复好能够继续对外提供服务时, 这时keepalived会将主机上继续生成这个vip, 同时回收在备机上生成的vip。这个是通过心跳检查来判断主机已恢复使用.

VIP总会在keepalived服务器中的某一台上,也只会在其中的某一台上;VIP绑定的服务器上的nginx就是master,当VIP所在的服务器宕机了,keepalived会将VIP转移到backup上,并将backup提升为master。

相关推荐