Docker实现HaProxy负载均衡处理

HaProxy负载均衡Mysql高可用集群

创建高可用集群:Docker 部署Mysql 高可用集群(PXC)_大胖酥的博客-CSDN博客

Docker实现HaProxy负载均衡处理_第1张图片

 

1、拉取镜像

docker pull haproxy

2、创建haproxy配置文件

mkdir  /tmp/haproxy/

cd /tmp/haproxy/

vi haproxy.cfg

global
    #工作目录,这边要和创建容器指定的目录对应
    # chroot /usr/local/etc/haproxy
    #日志文件
    log 127.0.0.1 local5 info
    #守护进程运行
    daemon

defaults
    log    global
    mode    http
    #日志格式
    option    httplog
    #日志中不记录负载均衡的心跳检测记录
    option    dontlognull
     #连接超时(毫秒)
    timeout connect 5000
     #客户端超时(毫秒)
    timeout client  50000
    #服务器超时(毫秒)
     timeout server  50000

    #监控界面    
    listen  admin_stats
    #监控界面的访问的IP和端口
    bind  0.0.0.0:8888
    #访问协议
     mode        http
    #URI相对地址
     stats uri   /dbs_monitor
    #统计报告格式
     stats realm     Global\ statistics
    #登陆帐户信息
     stats auth  admin:admin
    #数据库负载均衡
    listen  proxy-mysql
    #访问的IP和端口,haproxy开发的端口为3306
     #假如有人访问haproxy的3306端口,则将请求转发给下面的数据库实例
    bind  0.0.0.0:3306  
     #网络协议
    mode  tcp
    #负载均衡算法(轮询算法)
    #轮询算法:roundrobin
    #权重算法:static-rr
    #最少连接算法:leastconn
    #请求源IP算法:source 
     balance  roundrobin
    #日志格式
     option  tcplog
    #在MySQL中创建一个没有权限的haproxy用户,密码为空。
    #Haproxy使用这个账户对MySQL数据库心跳检测
     option  mysql-check user haproxy
    server  MySQL_1 172.20.0.2:3306 check weight 1 maxconn 2000  
     server  MySQL_2 172.20.0.3:3306 check weight 1 maxconn 2000  
    server  MySQL_3 172.20.0.4:3306 check weight 1 maxconn 2000 
    #使用keepalive检测死链
     option  tcpka

3、创建haproxy容器

docker run -d -p 8888:8888 -p 3306:3306 -v /tmp/haproxy:/usr/local/etc/haproxy --name haproxy04 --privileged --net=pxc-net haproxy

4访问haproxy前端界面

Docker实现HaProxy负载均衡处理_第2张图片

5、在几个节点上执行sql,发现监控上几个节点状态都up了

CREATE USER 'haproxy'@'%' IDENTIFIED BY '';

 Docker实现HaProxy负载均衡处理_第3张图片

Docker实现HaProxy负载均衡处理_第4张图片

 

 

你可能感兴趣的:(容器,mysql,docker,负载均衡,java)