负载均衡集群,Haproxy

 

对于双主状况,能够实现负载均衡 和 故障转移;可是 对于一主多从的状况,主挂掉了,选举功能 无法实现;linux

 

认识HaProxy:(性能中等)redis

        基于TCP协议的,代理MySql;所须要的机器不那么多;sql

Nginx:(性能最低)服务器

        基于Http协议的,只能代理Web应用负载均衡

LVS:(性能最高)socket

        Linux的虚拟服务,缺点:须要的机器很是多,可配置性 不高tcp

 

Haproxy的安装:性能

1,下载地址:https://www.tapd.cn/22121161/documents/show/1122121161001000014spa

2,建立用户名和密码(全部的Mysql节点上都须要一个通用的用户名和密码),并赋予权限;.net

3,安装haproxy:

        tar -zxvf haproxy-1.7.3.tar.gz

         cd haproxy-1.7.3

         make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy

        ## 参数说明
        ##TARGET=linux26 #内核版本,使用uname -r查看内核,

            如:2.6.18-371.el5,此时该参数就为        linux26;内核大于2.6.28的用:TARGET=linux2628
        ## ARCH=x86_64 #系统位数
        ## PREFIX=/usr/local/haprpxy #/usr/local/haprpxy为haprpxy安装路径

         make install PREFIX=/usr/local/haproxy

4.建立haproxy.cfg文件

         mkdir /usr/local/haproxy/etc
         vi /usr/local/haproxy/etc/haproxy.cfg

所添加的内容:

    
global
        daemon # 后台方式运行
        nbproc 1
        pidfile /usr/local/haproxy/etc/haproxy.pid
defaults
        mode tcp      #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
        retries 2     #两次链接失败就认为是服务器不可用,也能够经过后面设置
        option redispatch   #当serverId对应的服务器挂掉后,强制定向到其余健康的服务器
        option abortonclose   #当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接
        maxconn 4096     #默认的最大链接数
        timeout connect 5000ms   #链接超时
        timeout client 30000ms   #客户端超时
        timeout server 30000ms   #服务器超时
        #timeout check 2000      #=心跳检测超时
        log 127.0.0.1 local0 err  #[err warning info debug]

########test1配置#################
listen test1     #这里是配置负载均衡,test1是名字,能够任意
        bind 0.0.0.0:3306    #这里是监听的IP地址和端口,端口号能够在0-65535之间,要避免端口冲突
        mode tcp   #链接的协议,这里是tcp协议
        #maxconn  4086
        #log 127.0.0.1  local0  debug
        server s1 47.98.172.198:3306  #负载的机器
        server s2 47.97.121.246:3306  #负载的机器,负载的机器能够有多个,往下排列便可

 

5,在/usr/local/haproxy/etc 目录下【和haproxy.cfg文件中的属性pidfile 一致】建立 haproxy.pid文件,并设置值:

        echo  1 > haproxy.pid

 

6,启动haproxy:

         ../sbin/haproxy -f    /usr/local/haproxy/etc/haproxy.cfg

 

特别注意:

        若是在配置文件 haproxy.cfg 中配置了 bind 47.98.172.198:3306  ,指定 了具体的ip,容易出一下问题:

        Starting proxy test1: cannot bind socket [47.98.172.198:3307]

        解决办法:把具体的ip换成:  0.0.0.0

参考网址:https://blog.csdn.net/xuxile/article/details/78871380

相关文章
相关标签/搜索