数据库
首页 > 数据库> > 用于MySQL主从复制的HAProxy

用于MySQL主从复制的HAProxy

作者:互联网

我们正在使用MySQL MASTER-SLAVE复制设置,一切正常.

目前所有加载(读/写)都将转到MASTER服务器.我们的应用程序具有99%的读取和1%的写入.

我们考虑过向主服务器和从服务器分配负载(只读取).所以我们考虑使用HAProxy将负载分配给两个MySQL服务器.

我们的要求是将所有写入重定向到仅主服务器,并将读取分配到主服务器和从服务器之间.

解决方法:

我已经为我的项目实现了相同的功能.
我在Ha-Proxy(LB01)后面有两个DB Server(DB01,DB02).我从我的应用程序中假设一个数据库命中了ha-proxy.在我的应用程序中,我将数据库查询分发为3307上的读取并写入3306端口.

在haproxy.cfg(配置文件HAPROXY)中有两个LISTENER:

listen mysql-cluster
    bind  *:3306
    mode tcp
    balance roundrobin
    option mysql-check user mast_ha
    server DB01 10.x.x.x:3306 check maxconn 100000 


listen mysql-cluster-replica
    bind  *:3307
    mode tcp
    option mysql-check user mast_ha
    server DB02 10.x.x.x:3306 check maxconn 100000

并通过制作两个jdbc模板从应用程序调用Distrubuted mysql,一个用于读取,另一个用于写入.

标签:mysql,master-slave,haproxy
来源: https://codeday.me/bug/20190830/1766173.html