sharding-proxy整合Haproxy实现高可用

sharding-proxy整合Haproxy实现高可用_第1张图片

实验准备

  1. haproxy 安装包:haproxy-1.7.8.tar.gz,下载地址:https://src.fedoraproject.org/repo/pkgs/haproxy/
  2. 主机准备
主机 IP
haproxy 192.168.56.121
sharding-proxy1 192.168.56.119
sharding-proxy2 192.168.56.120

安装haproxy

  1. 安装依赖包
 yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel
  1. 将下载下来的安装包上传到/usr/local/src/目录下并解压
 cd /usr/local/src/
 rz
 tar -zxvf haproxy-1.7.8.tar.gz         #解压
 mv haproxy-1.7.8 haproxy               #重命名
  1. 安装
cd /usr/local/src/haproxy
make TARGET=linux26                 #此处需要指定TARGET参数才可安装,后面具体的值请参照下图,具体可查询解压/usr/local/src/haproxy/README文件
make install PREFIX=/usr/local/haproxy      #PREFIX指定安装路径
  1. 修改配置文件
vim /usr/local/haproxy/etc/haproxy.cfg

global
        daemon   # 后台方式运行
        nbproc 1
        pidfile 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]
        balance roundrobin      # 采用轮询算法


################# 配置#################
listen delegate                         #这里是配置负载均衡,test1是名字,可以任意
        bind 0.0.0.0:3307            #这里是监听的IP地址和端口,端口号可以在0-65535之间,要避免端口冲突
        mode tcp                     #连接的协议,这里是tcp协议
        #maxconn 4086
        #log 127.0.0.1 local0 debug
        server s1 192.168.56.119:3307 #负载的MySQL实例1
        server s2 192.168.56.120:3307 #负载的MySQL实例2 可以有多个,往下排列即
  1. 配置日志及新建pid存放的目录
vim /etc/rsyslog.conf
$ModLoad imudp               # 取消这两句注释,否则不能收到日志信息
$UDPServerRun 514
 
local2.*          /var/log/haproxy.log         # 将日志记录到该地
mkdir /usr/local/haproxy/logs
  1. 启动
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg  启动
 
ps -ef |grep haproxy                #查看状态

启动另外两台服务的sharding-proxy

可以看之前博客。

查看

连接192.168.56.121的3307端口,可以看到两台服务轮询负载。

你可能感兴趣的:(mysql)