[置顶] flume高并发优化——(3)haproxy

        在上篇博客中,我们虽然进行了较大的改动,但是,没有料到的是,flume的file性能瓶颈会如此快的到来,由于我们使用了一个filechannel作为负载均衡的通道,导致性能瓶颈很快到来,为了应对这样的瓶颈,我们对结构进行了第三次升级,替换了负载均衡的前端,换为性能更好的haproxy作为分发端,大家一起来看看是如何优化的。

        还是老样子,大家看看上次优化过之后的结构:

[置顶] flume高并发优化——(3)haproxy_第1张图片


        我们将avro端口的12300接收的数据,不再通过flume分发,换为haproxy,大家看看优化完之后的结构:

[置顶] flume高并发优化——(3)haproxy_第2张图片

        由于是avro协议,我们采用第四层改的tcp中转进行分发,haproxy的安装及配置如下:

1,安装

下载tar包:http://pan.baidu.com/s/1qYchXpy

tar zcvf haproxy-1.3.20.tar.gz
cd haproxy-1.3.20
make TARGET=linux26 PREFIX=/usr/local/haproxy                                #将haproxy安装到/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

备注:linux26为linux内核版本 ,通过 uname -a 查看linux内核版本。这个参数必须带,否则会出错。


2,配置

cd /usr/local/haproxy
vi haproxy.cfg


我的配置文件如下:

global
    log         127.0.0.1 local2
    chroot      /export/home/haproxy
    pidfile     /export/home/haproxy/haproxy.pid
    maxconn     4000
    user        root
    daemon

defaults
    mode        tcp
    log         global
    option      tcplog
    option      redispatch
    timeout connect 10000
    timeout client 300000
    timeout server 300000
    maxconn     60000
    retries     3

listen 12300
   bind 192.168.10.83:12300
   mode tcp
   balance roundrobin
   server tcp-1 192.168.10.83:12301
   server tcp-2 192.168.10.83:12302
   server tcp-3 192.168.10.83:12303
   server tcp-4 192.168.10.83:12304
   server tcp-41 192.168.10.84:12301
   server tcp-42 192.168.10.84:12302
   server tcp-43 192.168.10.84:12303
   server tcp-44 192.168.10.84:12304


意思是从192.168.10.83:12300端口分发到8个端口,模式为tcp分发。


3,启动和停止

启动服务

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


停止服务:

 killall haproxy

总结:

        经过haproxy的代理,我们前端的压力变得非常小,这样我们就可以有余力解决其他的性能问题,而现在摆在我们面前的问题,只剩一个,就是由kafka到es的flume性能问题,关于这个问题,我们下篇博客介绍如何解决。


你可能感兴趣的:(并发,haproxy,Flume,channel)