MySQL集群解决方案(4):负载均衡

时间:2022-12-22 22:54:52

在前面架构中,虽然对mycat做了集群,保障了mycat的可靠性,但是,应用程序需要连接到多个mycat,显然不是很友好的,也就是说缺少负载均衡的组件,接下来我们来了解下HAProxy。

1 简介

MySQL集群解决方案(4):负载均衡

官网:HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer

关于并发性能,haproxy可以做到千万级的并发。(当然了,运行环境不同,测试结果也不相同的)  

2 架构

MySQL集群解决方案(4):负载均衡

3 部署安装HAProxy

3.1 下载haproxy

 官网:HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer

MySQL集群解决方案(4):负载均衡

3.2 解压安装包

tar -zxvf haproxy-2.2.26.tar.gz

3.3 查看linux内核版本

uname -r

MySQL集群解决方案(4):负载均衡

 centos6.X需要使用TARGET=linux26,  centos7.x使用linux31 

3.4 安装haproxy

进入haproxy-2.2.26目录,执行安装命令

make TARGET=linux31
make install PREFIX=/usr/local/haproxy-2.2.26

3.5 创建配置文件

mkdir /usr/local/haproxy-2.2.26/conf

3.6 将解压后目录下的文件拷贝到程序运行目录的配置文件目录下

cp examples/option-http_proxy.cfg  /usr/local/haproxy-2.2.26/conf/haproxy.cfg

3.7 编辑haproxy.cfg

#输入如下内容
global
  log 127.0.0.1 local2
  maxconn 4000
  daemon

defaults
  mode http
  log global
  option httplog
  option dontlognull
  option http-server-close
  option forwardfor except 127.0.0.0/8
  option redispatch
  retries 3
  timeout http-request 10s
  timeout queue 1m
  timeout connect 10s
  timeout client 1m
  timeout server 1m
  timeout http-keep-alive 10s
  timeout check 10s
  maxconn 3000

listen admin_stats
  bind 0.0.0.0:4001
  mode http
  stats uri /dbs
  stats realm Global\ statistics
  stats auth admin:admin123

listen proxy-mysql
  bind 0.0.0.0:4002
  mode tcp
  balance roundrobin
  option tcplog
#代理mycat服务 配置mycat的地址
  server mycat_1 192.168.222.130:8066 check port 8066 maxconn 2000
  server mycat_2 192.168.222.131:8066 check port 8066 maxconn 2000

3.8 启动haproxy

/usr/local/haproxy-2.2.26/sbin/haproxy -f /usr/local/haproxy-2.2.26/conf/haproxy.cfg

安装成功后,通过浏览器访问

MySQL集群解决方案(4):负载均衡

查看到节点的运行状态

MySQL集群解决方案(4):负载均衡

使用客户端测试连接

MySQL集群解决方案(4):负载均衡

MySQL集群解决方案(4):负载均衡