nginx keepalived vip 高可用

本文介绍了在生产环境中,虽然多IP轮询和注册服务(eureka)等方式更常见,但作者仍对keepalived的高可用解决方案表示赞赏。keepalived支持两台机器的主备切换,通过VIP(虚拟IP)实现负载均衡。当主机宕机时,备机能够快速接管VIP,保持服务不间断。同时,keepalived会监控nginx进程,确保其稳定运行。作者通过docker容器来演示如何配置和测试这种高可用方案。

生产环境中,可以一个域名绑定多个ip轮询访问,比keepalived好用多了,后端的话有eureka之类的,所以在生产环境中根本用不到。
因此,这个就是自己玩的,但是keepalived解决问题的思路我很欣赏。

keepalived
keepalived只支持两台机器主备。
vip就是keepalived的虚拟ip,抽象的看,可以理解是虚拟网关
主备之间互相进行心跳检测,默认设置主机挂vip,主机死了,备机可以检测到,备机就挂vip。
同时,在机器上让keepalived对nginx进程进行心跳检测,死了就拉起来,拉不起来就把自己干死。vip就自动挂到备机上了。高可用嘛,死了接着用。

下面用docker玩一下

docker pull osixia/keepalived
docker run -d --rm -v /keepalived/conf/keepalived.conf:/container/service/keepalived/assets/keepalived.conf --name keepalived osixia/keepalived
vi /container/service/keepalived/assets/keepalived.conf
global_defs {
  default_interface eth0
}

vrrp_script chk_http_port {
	script  "xxx.sh"  # 执行脚本,在这里检测nginx死没死,死了拉起来,拉不起来就干死自己
	interval 2           # 心跳
	weight 2
}

vrrp_instance VI_1 {
 state MASTER          #  主 MASTER 备 BACKUP
  interface eth0
  virtual_router_id 51  # 主备机一致
  priority 150               # 值大的挂vip
  advert_int 1

  virtual_ipaddress {
    192.168.52.200
  }

  authentication {
    auth_type PASS
    auth_pass d0cker
  }

  notify "/container/service/keepalived/assets/notify.sh"
}

在设置一个备机就ojbk了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值