2013年12月06日 星期五 15:13
虽然Galera Cluster是一组多主库、无延迟、高可用的数据库集群方案,但我们还是需要加一层负载均衡设施,负载均衡的主要目的有:
1,能够检测各节点的健康状态。
2,能够及时将有问题的节点屏蔽。
3,为应用程序提供统一、固定的访问地址。
4,将请求均衡的分配给各个数据库节点。
目前业界的应用案例大多使用HAProxy来实现负载均衡。Percona XtraDB Cluster集成了数据库节点的健康检测程序(/etc/xinetd.d/mysqlchk和/usr/bin/clustercheck)。
具体的配置再次不详细罗列,请参考Percona网站文章:
http://www.percona.com/doc/percona-xtradb-cluster/5.5/howtos/haproxy.html
这个方案有一个问题:数据库节点看到的请求来源IP地址都是HAProxy的地址,这样数据库授权部分的host约束就失效了。
如果对授权的问题不能妥协并且不想引入iptables,那么还是使用KeepAlived配合LVS的DR模式进行负载均衡更完美一些,KeepAlived也可以调用额外的脚本来检查节点的健康证状态。
Zeuux © 2024
京ICP备05028076号