快捷搜索:
来自 网络数据库 2019-07-08 05:08 的文章
当前位置: 67677新澳门手机版 > 网络数据库 > 正文

Mysql的Haproxy反向代理和负载均衡

     HaProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代办,帮助设想主机,它是无偿、连忙何况可信赖的一种减轻方案。应用到Haproxy重假使因为她免费,何况依照TCP和HTTP的采纳代理。

  先介绍一下Haproxy的利用场景,三个是TCP代理,那边也是自个儿项目中选拔的,另二个是HTTP代理,小编就差十分的少介绍一下。基于Tcp协议的Haproxy代理应用场景:在VPC互连网情况下,虚机A的数据库不可能被外部网络采访到,只可以被在长期以来内网碰到下的虚机B访谈,那时候能够通过在虚机B上搭建Haproxy情况,通过Haproxy代理实现外界虚机C对虚机A数据库的拜访;这里本身项目中实际上利用到的景况是那般的,在国有云上创设ENVISIONDS实例,会有VPC网络和Classic互联网,在挑选VPC互连网成立大切诺基DS后,在进展数据同步时,会对该陆风X8DS数据库举行数量同步,那时候由于昂科拉DS的数据库在VPC互连网意况下,外网是不能够平昔访谈那些智跑DS数据库。那时候大家利用的是用八个ECS云服务器上搭建二个Haproxy代理,公网通过haproxy代理访谈这一个奔驰G级DS数据库,那样就消除了VPC互联网的拜见谈题;

  基于HTTP协议的Haproxy代理应用场景:用户访问网址域名时,通过大家设置的Haproxy代理,HTTP必要到后端配置的web服务器上,获得后方服务器重回的原委后再也打包,响应给客户端;就不啰嗦了,间接来干货,应用haproxy代理访谈后端mysql数据库(这里不自然是mysql数据库)。

(一)Haproxy下载、安装:网上的能源都要积分,所以一贯在yum上找免费能源。

yum install -y haproxy
rpm -qi haproxy
rpm -ql haproxy

(二)配置haproxy.cfg文件(重点)

cd /etc/haproxy
vim haproxy.cfg

#配置的haproxy.cfg文件
global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
        log     global
        log 127.0.0.1 local3
        mode    http
        option httplog
        option  dontlognull
        retries 10
        option redispatch
        maxconn         2000
        timeout http-request    10s                  
        timeout queue           1m                   
        timeout connect         10s                  
        timeout client          1m                   
        timeout server          1m                   
        timeout http-keep-alive 10s                  
        timeout check           10s                  

#后端mysql配置,访问虚机地址 端口号可以访问后端的mysql,例如:192.168.108.133:7306可以访问140/133的mysql数据库
listen  mysql
        bind 0.0.0.0:7306
        mode tcp
        balance roundrobin
        server mysql1 192.168.108.140:3306
     server mysql2 192.168.108.133:3306


#haproxy监听端口(可去掉),访问虚机地址 端口号 /stats可以看到,例如:192.168.108.133:1080/stats
listen stats
        bind 0.0.0.0:1080
        mode http
        option httplog
        maxconn 10
        stats refresh 30s
        stats uri /stats
        stats realm XingCloud Haproxy
        stats auth admin:admin #用这个账号登录,可以自己设置
        stats auth Frank:Frank
        stats hide-version
        stats admin if TRUE

(三)成立日志文件/var/log/haproxy/haproxy.log

cd /var/log
mkdir haproxy
cd haproxy
touch haproxy.log
chmod a w haproxy.log

(四)开启rsyslog的haproxy的日记记录成效

vim /etc/rsyslog.cnf --修改rsyslog.cfg文件
    $ModLoad imudp  
    $UDPServerRun 514 
    将这两行前的#去掉。
    在local7.*                                                /var/log/boot.log之后添加如下内容
    # Save haproxy log  
    local2.*                       /var/log/haproxy/haproxy.log
vim /etc/sysconfig/rsyslog --修改rsylog文件
SYSLOGD_OPTIONS=""  改为  SYSLOGD_OPTIONS="-r -m 2 -c 2" 

(五)重启日志和haproxy服务

systemctl restart rsyslog
systemctl restart haproxy

(六)haproxy相关命令

killall haproxy --停止haproxy
ps -ef |grep haproxy |grep -v grep --查看haproxy的运行状态(这里直接可以通过配置的监听页面也可以看到192.168.108.133:1080/stats)
netstat -plantu | grep 7306 --查看端口7306

(七)测试

 1.输入网站

图片 1

 

2.haproxy代理访谈后端的mysql数据库,这里自个儿用的工具是Navicat。这里7306连连的就是192.168.108.140/133:3306数据库,这里用的用户名和密码是140/133数据库的用户名和密码,这里140和133的用户名和密码需保持一致。有疑点的同学能够在140上新建个数据库,通过7306这么些端口访谈数据库也得以望见刚新建的数据库。关闭之后重新展开192.168.108.133:7306时,就能够看望到192.168.108.133:3306数据库,达成mysql的平均负载。

图片 2

  停止语:Haproxy作用依旧挺强大的,基于Haproxy代理的web应用,还或然有web/mysql的年均负载,。这里一贯蒙受三个很费劲的标题,正是测验连接后端mysql数据库的时候,一向报Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts',最终化解的是翻开140服务器上的3306端口平昔有个一而再占用着,况兼未有连接成功,最终只可以重启140的mysql数据库就好使了。那一个主题素材以往未曾艺术复现,所以那边就不剖判现实的失实原因了。这里根本正是Haproxy轻易的运用,就算有不准绳可能疑问大家都能够积极建议。

  

 

本文由67677新澳门手机版发布于网络数据库,转载请注明出处:Mysql的Haproxy反向代理和负载均衡

关键词: