1 HAProxy单点故障
在上一篇文章里,我们在一台机器上安装了HAProxy,实现了MyCat服务的集群。但是这样的架构中,只有一个HAProxy服务,一旦这个服务发生了宕机,集群将不可用,这就是所谓的单点故障。那么怎么进一步提高HAProxy的高可用,从而解决单点故障的问题呢?
通过Keepalived可以实现。
2 解决方案
在多个节点上安装HAProxy,并在每个HAProxy节点上安装Keepalived服务
- 对外
通过Keepalived服务,创建一个虚拟的IP地址,上游服务可以访问这个虚拟地址,实现与下层HAProxy及MyCat的访问。
- 对内
Keepalived服务监测自己所在节点的HAProxy服务的状态——即健康监测,当发现本地节点服务不可用时,将把本地IP地址与虚拟IP的映射关系上去掉,从而确保出现故障的服务,不会被上游服务访问到。
3 实现
3.1 安装HAProxy
之前仅在一个服务器上安装了HAProxy,现在开始在第二台服务器上也安装HAProxy。
安装方法参照上一篇内容。
yum install -y haproxy
修改配置文件内容
vi /etc/haproxy/haproxy.cfg
启动haproxy服务
haproxy -f /etc/haproxy/haproxy.cfg
查看WEB页面
安装完成。