Keepalived + Haproxy + PXC 理论篇

最终模型:

  1. 将Kp1 + Kp2 分别和Ha1和Ha2部署在一起,同时绑定VIP ip,对外提供访问,同时监控本机的Haproxy的可用性

  2. 通过Ha1 + Ha2 为PXC提供负载均衡,分发请求到后端某台PXC,同时检测后端的PXC数据库可用性

  3. PXC 多主复制提供读写能力

Haproxy 反向代理

工作在7层模型上,可以分析数据包中的应用层协议,并按规则进行负载

默认使用 tcp 协议

haproxy 可以通过一个统一的端口对外提供服务,然后内部进行分发。

程序进行访问时,不再访问具体的MySQL,而是访问haproxy服务器的ip及端口。

Haproxy 接收到请求时,根据相应的策略进行转发。有轮询、加权、随机等等

同时还根据具体时间间隔对后端服务进行有效性检测,当MySQL集群有哪一台机器不再工作了,则会将其从可用列表中踢出,然后不再转发请求到该节点

Keepalived
  • 对 realserver 进行健康状况检查,对4、5、7层进行健康检查
  • 对负载均衡调度器实现高可用,防止单点故障

Keepalived 实现故障转移的功能是通过 VRRP 协议。在Keepalived正常工作时,master会不断发送心跳信息给backup。当backup一段时间收不到master的心跳信息,就会认为master宕了,会接管master的请求,继续对外提供服务。当master恢复,backup会自动让出资源给master,再次成为backup。

这里Keepalived 用来保障 Haproxy 高可用,避免单点故障

posted @ 2019-06-18 18:52  海口-熟练工  阅读(471)  评论(0编辑  收藏  举报