成佩涛-利用haproxy作为mysql的负载均衡器

先简单介绍下haproxy:

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

详情请参考:百度百科


下面直接给出配置步骤:

步骤一:

搭建好mysql主主复制架构或者主从复制架构,下面主要以主从架构为例子,假设目前咱们已经搭建好主从架构了,mysql的主从复制架构网上已经有很多

教程了,如果有不懂的朋友可以私下再探讨探讨!

步骤二:

下载并配置haproxy,目前基本所有的主流web中间件都偏向于linux系统,因此,windows下相关资料是非常缺乏的!本文主要以讨论windows为主,下载             haproxy并编译为windows版本,下面提供一个编译地址:haproxy编译教程

编译完成后,windows下基本的目录架构如下:

成佩涛-利用haproxy作为mysql的负载均衡器_第1张图片

步骤三:

修改haproxy主配置文件haproxy.cfg

用Sublime打开haproxy.cfg,并修改配置如下:

成佩涛-利用haproxy作为mysql的负载均衡器_第2张图片

成佩涛-利用haproxy作为mysql的负载均衡器_第3张图片

以上为基本的配置过程,是不是很容易呢!下面给出完整的配置文件内容:

global    
        log 127.0.0.1   local0    
       #log 127.0.0.1  local1 notice    
       #log loghost    local0 info    
        maxconn 1500    
        chroot C:\Users\Administrator\Desktop\haproxy   #haproxy所在目录
        uid haproxy    
        gid haproxy   
          
        daemon    
        nbproc 2    
        pidfile C:\Users\Administrator\Desktop\haproxy\haproxy.pid   #haproxy.pid文件所在目录
        #debug    
        #quiet    
    
defaults    
        #log     127.0.0.1       local3    
        mode    http    
        option  httplog    
        option  httpclose    
        option  dontlognull    
        option  forwardfor    
        option  redispatch    
        retries 2    
        maxconn 2000    
        #balance roundrobin    
        #stats enable  
        #stats uri /ha?stats  #haproxy运行状态查看 自定义uri  
        contimeout      5000    
        clitimeout      50000    
        srvtimeout      50000    
     
listen  mysql
        bind 0.0.0.0:23306    #绑定的端口号
        mode tcp              #模式 TCP
        option mysql-check user root   #mysql健康检查  root为mysql登录用户名
        balance  static-rr            #调度算法roundrobin
		#balance source                  #默认的负载均衡的方式,类似nginx的ip_hash 
        #balance leastconn               #默认的负载均衡的方式,最小连接 
		#balance roundrobin              #默认的负载均衡的方式,轮询方式 
        server mysql1 127.0.0.1:3305 weight 1 check  inter 1s rise 2 fall 2 #健康检查加上check
        server mysql2 127.0.0.1:3307 weight 1 check  inter 1s rise 2 fall 2
        #server mysql3 127.0.0.1:3308 weight 2 check  inter 1s rise 2 fall 2

listen stats     #监控
           mode http
           bind 0.0.0.0:8888
           stats enable
           stats uri /dbs
           stats realm Global\ statistics
           stats auth admin:admin



你可能感兴趣的:(免费,负载均衡,中间件,架构,服务器软件)