haproxy介绍
jopen
11年前
haproxy是一款高性能的负载均衡器。
在web端,目前可能很多人在利用nginx做反向代理,顺便也做了负载均衡的功能。
但实际上,利用nginx做负载均衡效率上稍有不足。因为nginx会先处理下HTTP的头,然后到了具体的Web服务器,又解析了一把HTTP头。这个解析的过程是比较耗时的。
实际上,如果这个时候采用TCP转发,那就高效多了。Haproxy就是干这个事情的。当然,Haproxy也能工作在http模式下。
比如,还是以之前的代理服务器来说事。我们的代理服务器本身是单进程,单线程的。但是我们希望一台服务器上有4个进程同时工作。那我们可以这样设计,将这4个进程分别绑定在8081,8082,8083,8084端口。然后在haproxy里边,监听在8080端口,把到8080端口的请求,均衡到8081~8084这四个进程。
我们的haproxy配置文件大致如下:
...
frontend proxy bind *:8080 mode tcp log global option tcplog backlog 4096 default_backend PROXY_BE
后端的PROXY_BE如下:
backend PROXY_BE mode tcp option tcplog balance roundrobin server s1 127.0.0.1:8081 server s2 127.0.0.1:8082 server s2 127.0.0.1:8083 server s2 127.0.0.1:8084
关于haproxy的具体配置可以参考他的手册。