Nginx高可用集群架构

##高可用 HA(High Availability) ###Keepalived双机主备原理 反向代理服务器,分为主节点和一个备用节点,当主节点挂掉之后,自动切换为备用节点。 HA高可用

###Keepalived概念

  • 解决单点故障,不单单是在nginx上使用,也可以在redis等集群服务上使用。
  • 组件免费
  • 可以实现高可用HA机制
  • 基于VRRP协议

###虚拟路由冗余协议 VRRP

VRRP即虚拟路由冗余协议(Virtual Router Redundancy Protocol),它是为了避免路由器出现单点故障的一种容错协议。

  • 解决内网单机故障的路由协议
  • 通过该协议,可以构建有多个路由器 MASTER BACKUP
  • 虚拟IP - VIP(Virtual IP Address)

###Keepalived双机主备原理 用户以前是直接请求到Nginx,有了Keepalived之后,用户先请求到虚拟IP,由于虚拟IP是和Nginx的Master节点绑定的,所以,请求会到达Master节点的Nginx。
虚拟IP访问Master-nginx

虚拟IP会对Nginx做心跳检测,如果主节点Nginx挂掉之后,虚拟IP就会和Nginx的备用节点绑定,用户的请求还是先请求到虚拟IP,然后请求到备用节点的Nginx。 虚拟IP访问备用Nginx节点

不管是使用多个还是一个备用节点,要保证备用节点的配置和主节点的服务器配置是相同的。 例如,主节点可以同时处理1000个请求,备用节点可以同时处理100个请求,当主节点挂掉之后,请求会全部打到备用节点,这时由于备用节点的配置比较低,不能同时处理100个以上的请求,因此,备用节点会瞬间挂掉。