在搭建HAProxy+Keepalived 高可用负载均衡之前先来简单了解一下HAProxy和keepalived的原理。
HAProxy
HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,haproxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或七层处理。haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
keepalived
keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。
HAProxy+Keepalived 高可用负载均衡工作示意图:
对上图做个说明,前端的haproxy负责代理后端的web服务器,可以防止后端web服务器暴露在网络上,相对的提高了后端web服务器的安全性,keepalived负责热备份,当主服务器由于故障宕机后,从服务器可以代替其工作,从而保证了服务的不间断运行。
配置后端web服务(以Nginx为例)
以web_server1为例,web_server2同web_server1ÿ