haproxy+mysql集群如何实现负载均衡
在使用haproxy+mysql集群时,为了实现负载均衡,需要对mysql进行配置。首先,在mysql的配置文件中添加以下内容:
log-bin=mysql-bin
server-id=1
binlog-do-db=db1
binlog-do-db=db2
然后在haproxy的配置文件中添加以下内容:
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#chroot /usr/local/haproxy
user haproxy
group haproxy
daemon
#debug
#quiet
defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 3000
clitimeout 3000
srvtimeout 3000
listen mysql-cluster 10.10.10.100:3306
mode tcp
option httpchk
option mysql-check user haproxy_check
balance roundrobin
server mysql-1 10.10.10.101:3306 check
server mysql-2 10.10.10.102:3306 check
server mysql-3 10.10.10.103:3306 check
server mysql-4 10.10.10.104:3306 check
server mysql-5 10.10.10.105:3306 check
server mysql-6 10.10.10.106:3306 check
server mysql-7 10.10.10.107:3306 check
server mysql-8 10.10.10.108:3306 check
server mysql-9 10.10.10.109:3306 check
server mysql-10 10.10.10.110:3306 check
在上面的配置中,我们使用了一个虚拟IP地址10.10.10.100来作为haproxy的监听地址,3306端口用于监听mysql的连接请求,然后将连接请求转发给真实的mysql服务器。
我们还使用了一个用户名为haproxy_check的mysql用户来检查mysql服务器的状态,如果mysql服务器处于异常状态,则haproxy将不会将连接请求转发给该服务器。
配置完成后,重启haproxy和mysql服务器,然后就可以使用haproxy+mysql集群来实现负载均衡了。
相关文章