760176104 发表于 2017-4-18 08:44:16

使用haproxy做TCP协议负载均衡

  之前有使用过Nginx进行tcp负载均衡,但后来发现nginx总是会跟服务端进行断开连接、断开连接的操作,所以选择一下别的代理进行处理。
  写这个的时候,我也只是把haproxy运行成功,而且简单测试了一下,具体适不适合自己的系统还有待测试。
  1.下载haproxy:
  http://haproxy.1wt.eu/
  从主页下载,我使用的是最新版本,haproxy-1.4.24.tar.gz
  2.安装haproxy:
  tar zxvf haproxy-1.4.24.tar.gz
  cd haproxy-1.4.24
  make TARGET=linux26 PREFREX=/usr/local/haproxy
  make install PREFREX=/usr/local/haproxy
  3.配置文件:
  cd /usr/local/haproxy
  mkdir conf
  cd conf
  vim haproxy.cfg
配置文件内容haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/local/haproxy
uid nobody
gid nobody
daemon
#debug
#quiet
pidfile /root/Desktop/haproxy.pid
defaults
mode tcp               #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
retries 3              #两次连接失败就认为是服务器不可用,也可以通过后面设置
option redispatch      #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose    #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
maxconn 32000          #默认的最大连接数
timeout connect 5000ms #连接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check 2000    #心跳检测超时


listen test1
bind 0.0.0.0:8008
mode tcp
balance roundrobin
server s1 172.16.241.43:8010 weight 1 maxconn 10000 check inter 10s
server s1 172.16.241.43:8011 weight 1 maxconn 10000 check inter 10s
server s1 172.16.241.43:8012 weight 1 maxconn 10000 check inter 10s
  4.启动文件:
vim haproxy.sh
haproxy.sh
#!/bin/sh
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
 
查看启动成功,ps -ef |grep haproxy
 
 
 
PS,测试了一下,情况不太理想,大量连接互相通讯的情况下,会出现消息的现象。
页: [1]
查看完整版本: 使用haproxy做TCP协议负载均衡