Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免服务的单点故障。Nginx有轮询(默认)、指定权重、IP绑定 ip_hash和url_hash(第三方)方式的分配负载。
客户端通过域名请求到DNS,由DNS解析域名后返回对应的IP地址,该IP及为Keepalived映射服务器的虚拟IP,通过该虚拟IP访问到对应的负载均衡器(Nginx),这里Nginx部署两个,然后通过Keepalived来保证NG的高可用,正常情况下由Keepalived-M将虚拟IP映射转发至Nginx-M,如果Nginx-M出现故障,此时Keepalived会切换至Keepalived-S开始工作,从而保证了NG的单点故障问题。通过Nginx负载均衡器,将请求路由到对应的Tomcat服务。