HAproxy研究与应用(千万级并发、负载均衡)
2013-08-11 19:39
344 查看
博客搬家至
油皮8
HAProxy提供高可用性负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。
HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy甚至还支持 Mysql的均衡负载。如果说在功能上,能以proxy反向代理方式实现
WEB均衡负载,这样的产品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke等。 但要明确一点的,Haproxy并不是
Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是 WEB服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或动态(php,cgi..)文件的传输以及处理。而Haproxy仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http服务。
1)、准备域名:www.123p6.cn,(下称域A)
2)、三台服务器,假设这三台服务器外网都能访问
192.168.1.100(linux) haproxy
192.168.1.101(XP ) WEB域A负载1
192.168.1.102(XP ) WEB域A负载2
3)、在192.168.1.101、192.168.1.102两台机器中搭建域A服务器环境
4)、域名解析、绑定
修改192.168.1.101、192.168.1.102的HOSTS文件,在C:\WINDOWS\system32\drivers\etc下,用记事本打开hosts文件
在127.0.0.1 localhost一行的下面添加:
5)、HAproxy下载,最新版本的为1.4.24
延伸阅读及参考资料:
1、HAproxy官方网站:http://haproxy.1wt.eu/
2、HAproxy监测页面及参数简释
3、HAproxy负载均衡保持客户端和服务器端session亲缘性的三种方式
4、MySQL从库集群方案之HAproxy
5、基于域名负载均衡HAproxy配置
6、HAproxy+keepalived实现高可用性负载均衡
友情链接:
PHP视频教程
博客搬家至
油皮8
油皮8
一、Haproxy介绍
HAProxy提供高可用性负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G的并发。 HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy甚至还支持 Mysql的均衡负载。如果说在功能上,能以proxy反向代理方式实现
WEB均衡负载,这样的产品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke等。 但要明确一点的,Haproxy并不是
Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是 WEB服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或动态(php,cgi..)文件的传输以及处理。而Haproxy仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http服务。
二、测试环境准备
1)、准备域名:www.123p6.cn,(下称域A)2)、三台服务器,假设这三台服务器外网都能访问
192.168.1.100(linux) haproxy
192.168.1.101(XP ) WEB域A负载1
192.168.1.102(XP ) WEB域A负载2
3)、在192.168.1.101、192.168.1.102两台机器中搭建域A服务器环境
4)、域名解析、绑定
修改192.168.1.101、192.168.1.102的HOSTS文件,在C:\WINDOWS\system32\drivers\etc下,用记事本打开hosts文件
在127.0.0.1 localhost一行的下面添加:
192.168.1.101 www.123p6.cn 192.168.1.102 www.123p6.cn
5)、HAproxy下载,最新版本的为1.4.24
# wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz
三、HAproxy的安装
# tar zxvf haproxy-1.4.24.tar.gz # cd haproxy-1.4.24 # make TARGET=linux26 PREFIX=/usr/local/haproxy #TARGET是内核版本,2.6就写作26 # make install PREFIX=/usr/local/haproxy
四、编写haproxy.cfg配置文件
# vi /usr/local/haproxy/haproxy.cfg
global maxconn 51200 #限制单个进程的最大连接数 chroot /usr/local/haproxy uid 99 #所属运行用户,默认99为nobody gid 99 #所属运行用户组,默认99为nobody daemon #让进程作为守护进程在后台运行 quiet nbproc 2 #指定作为守护进程运行时的进程数,推荐设置为与CPU核心数相同 pidfile //usr/local/haproxy/haproxy.pid defaults mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK #retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置 option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 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 #负载均衡算法 #option httplog #日志类别,采用httplog #option httpclose #每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现 #option dontlognull #option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip listen www.123p6.cn 0.0.0.0:80 #运行的端口及主机名 mode http #使用http的7层模式 balance roundrobin #设置服务器负载分配算法 option httpclose option forwardfor option httpchk GET /keepalive.html #健康检测页面 server webapp1 192.168.1.101:80 weight 1 check inter 2000 rise 2 fall 3 server webapp2 192.168.1.102:80 weight 1 check inter 2000 rise 2 fall 3 # weight - 调节服务器的负重 # check - 允许对该服务器进行健康检查 # inter - 设置连续的两次健康检查之间的时间,单位为毫秒(ms),默认值 2000(ms) # rise - 指定多少次连续成功的健康检查后,即可认定该服务器处于可操作状态,默认值 2 # fall - 指定多少次不成功的健康检查后,认为服务器为当掉状态,默认值 3 # maxconn - 指定可被发送到该服务器的最大并发连接数 listen localhost 0.0.0.0:8888 #监控页面的端口 mode http transparent stats refresh 30s #统计页面自动刷新时间 stats uri /haproxy-stats #监控页面的访问地址 stats realm Haproxy \ statistic #统计页面密码框上提示文本 stats auth haproxyadmin:haproxypass #统计页面用户名和密码设置 stats hide-version #隐藏统计页面上HAProxy的版本信息
延伸阅读及参考资料:
1、HAproxy官方网站:http://haproxy.1wt.eu/
2、HAproxy监测页面及参数简释
3、HAproxy负载均衡保持客户端和服务器端session亲缘性的三种方式
4、MySQL从库集群方案之HAproxy
5、基于域名负载均衡HAproxy配置
6、HAproxy+keepalived实现高可用性负载均衡
友情链接:
PHP视频教程
博客搬家至
油皮8
相关文章推荐
- 千万级高并发负载均衡HAProxy安装及使用示例
- 初识千万级高并发负载均衡软件HaProxy
- 一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究
- 千万级并发HAproxy均衡负载系统介绍
- 千万级并发HAproxy均衡负载系统介绍
- 一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究
- 千万级并发HAproxy均衡负载系统介绍
- 实现Web应用的高并发、负载均衡配置(2) - MySQL环境配置
- 千万级高并发负载均衡软件haproxy配置文件详解
- 千万级并发HAproxy均衡负载系统介绍
- 千万级并发HAproxy均衡负载系统介绍
- 千万级并发HAproxy均衡负载系统介绍
- 千万级并发HAproxy均衡负载系统介绍
- 千万级并发HAproxy均衡负载系统介绍
- HAproxy – 千万级并发负载均衡软件 (实测)
- 基于第三方应用的高并发HAproxy简介及基本配置
- 实现Web应用的高并发、负载均衡配置(1) - JDK环境配置
- 千万级高并发负载均衡软件HAproxy
- 千万级高并发负载均衡软件HAPROXY
- 烂泥:高负载均衡学习haproxy之TCP应用