http://evolution.voxeo.com/wiki/kb:swloadbalancingfailover
此文是关于nginx lvs 的高可用的详尽文章,需要仔细阅读
nginx命令行参数配置
http://wiki.nginx.org/NginxCommandLine#Example
nginx+keepalived 双机备份
http://sunqi.javaeye.com/blog/735528
Setting Up A High-Availability Load Balancer (With Failover And Session Support) With HAProxy/Keepalived On Debian Lenny
雨痕的文章,很有质量
http://www.rainsts.net/article.asp?id=1025
有实操
http://www.cnblogs.com/iceocean/articles/1613269.html
http://www.hackadmin.com/2010/02/22/ip-failover-for-web-cluster/
http://1234567aaa.blog.51cto.com/373182/316496
Nginx的优点:
性能好,可以负载超过1万的并发。
功能多,除了负载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配。
社区活跃,第三方补丁和模块很多
支持gzip proxy
缺点:
不支持session保持。
对后端realserver的健康检查功能效果不好。而且只支持通过端口来检测,不支持通过url来检测。
nginx对big request header的支持不是很好,如果client_header_buffer_size设置的比较小,就会返回400bad request页面。
Haproxy的优点:
它的优点正好可以补充nginx的缺点。支持session保持,同时支持通过获取指定的url来检测后端服务器的状态。
支持tcp模式的负载均衡。比如可以给mysql的从服务器集群和邮件服务器做负载均衡。
缺点:
不支持虚拟主机(这个很傻啊)
目前没有nagios和cacti的性能监控模板
LVS的优点:
性能好,接近硬件设备的网络吞吐和连接负载能力。
LVS的DR模式,支持通过广域网进行负载均衡。这个其他任何负载均衡软件目前都不具备。
缺点:
比较重型。另外社区不如nginx活跃。
西瓜皮
http://1234567aaa.blog.51cto.com 【订阅】
1234567aaa 的BLOG
博客统计信息
用户名:1234567aaa
文章数:38
评论数:66
访问量:16584
无忧币:323
博客积分:1019
博客等级:4
注册日期:2008-05-02
热门文章
- 下载中心,如何打开CHM文件
- 【拯救赵明】利用nginx提高整体健..
- 初学Oracle
- 利用Haproxy实现WEB高可用性
- 安装man汉化包
- 走过2008——一个大二学生的规划
- 安装sersync实现服务器同步和镜像
- 跑fastcgi,用spawn-fcgi 管理还..
搜索BLOG文章
我的技术圈(5)
更多>>最近访客
最新评论
- zhangzj1030:为什么前端缓存要用一台nginx来实现..
- [匿名]51cto游客:下载了,是文本文档,全是乱码,不..
- [匿名]billy:fair url_hash就没测试了吧,你可知..
- [匿名]brent:太好了。。谢谢
- super_T:我后来把整个awstats目录以及子目录..
- 1234567aaa:chmod 777
- super_T:是chmod /usr/local/awstats/wwwroo..
- 1234567aaa:赋予权限,chmod
- super_T:Create/Update database for config..
- [匿名]不懂:我要打看一个文件,安全提示说:打..
- rsyw:可以再考虑添加cacti(历史数据展示..
- yahoon:dump 何解? mysqldump 何解? my..
- 1234567aaa:是吗?他的简历我还没见识过呢
- luwenju:西瓜 简历投的咋样了 ..
- 1234567aaa:./configure --prefix= 就指定了个..
- changtailiang:你的configure选项是啥都没有提供,..
- 1234567aaa:重新安装了~ 这个问题慢慢研究
- luwenju:或者换个所要安装程序的版本试试 ~
- luwenju:那你就重新安装一下GCC嘛!
- 1234567aaa:还不行。是gcc编译器出了问题,提示..
51CTO推荐博文
更多>>- 实例解析QOS端到端应用(一)
- 管理exchange 2010用户邮箱本地移..
- PowerShell2.0之与COM对象交互
- RHEL5.4部署中央日志服务器之rsys..
- IIS写入权限隐患
- 详细教程:编译Linux最新内核
- [解决的“迂回”战术]Email乱码
- python插件做nagios发报警邮件
- 某石油公司100-500人办公网络方案..
- Lync2010边缘服务器配置结合ForeF..
- 向左走还是向右走,公有云还是私..
友情链接
分享到:
利用Haproxy实现WEB高可用性
2010-05-16 15:13:21
版权声明:原创作品,谢绝转载!否则将追究法律责任。
阿泰老师曾在群里说过,七层负载的话,HAproxy要优于Nginx
Haproxy比Nginx强的地方是对后端realserver的健康检查功能,是通过在WWW主目录下设定一个特定文件(如welcome.htm)并定时检查来实现的。还有一个是支持session会话保持功能,即同一个IP只转发到一台服务器上。这个功能LVS有,现在Nginx里有一个第三方扩展模块Nginx_upstream_ivn_route,是基于cookies的session sticky功能(基于cookies的会话保持模块),不过效果如何我暂时还没有测试。
一, 安装Haproxy
tar –zxvf haproxy-1.2.17.tar.gz
cd haproxy-1.2.17
make TARGET=linux26 #看README,找到自己的系统符合的标志
这样,在该目录下生成了haproxy命令文件
二,配置文件
自己创建配置文件haproxy.cfg如下:
global
maxconn 5120
ulimit-n 65536
chroot /usr/share/haproxy # haproxy安装目录
uid 99
gid 99
daemon
quiet
# 通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
nbproc 2
#pidfile /var/run/haproxy-private.pid
defaults
log global
mode http
option httplog
option dontlognull
log 127.0.0.1 local3
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
#listen SDS.DMS.COM 10.0.0.0:80 # 监听IP及端口,域名是在Web界面显示的标识
listen 123 0.0.0.0:80 #这个123是区别不同的负载名称,因为一个listen定义一个负载池
mode http
stats uri /haproxy # 监控haproxy状态虚拟目录
stats realm Haproxy\statistics
stats auth gao:gao # 设置状态监控的用户名为gao密码为gao
balance roundrobin # 负载均衡算法,轮询,1.3.14以上版本支持多种算法
cookie SERVERID insert indirect
option httpclose
option forwardfor
option httpchk HEAD /welcome.htm HTTP/1.0 # 健康检测 每一台的WEB根目录存放
# weblocme.htm文件(靠这个文件检查健康状况!!!)
# 下面是节点服务器
#server APP01 10.0.1.10:80 cookie app1inst1 check inter 2000 rise 2 fall 5
#server APP02 10.0.1.11:80 cookie app1inst2 check inter 2000 rise 2 fall 5
server APP03 192.168.109.5:81 cookie app1inst3 check inter 2000 rise 2 fall 5
server APP04 192.168.109.3:80 cookie app1inst4 check inter 2000 rise 2 fall 5
三, 启动
/usr/local/src1/HAproxy/haproxy-1.2.17/haproxy -f /usr/local/src1/HAproxy/haproxy.cfg
正常启动的话,是什么都不输出的,没有OK之类反馈
我现在的环境是两台虚拟机 192.168.109.4和192.168.109.3
在192.168.109.4上另设置了一个IP:192.168.109.5,让Apache专门监听这个IP的81端口
在算法是轮询的前提下,测试
[root@xxw HAproxy]# for i in $(seq 10); do curl http://192.168.109.4 ;done
192.168.109.3 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.3 It is work!
192.168.109.3 It is work!
192.168.109.5 It is work!
192.168.109.3 It is work!
192.168.109.5 It is work!
192.168.109.3 It is work!
192.168.109.5 It is work!
算法改为source,测试
#!/bin/bash
for ((i=0;i<10;i++))
do curl http://192.168.109.4
done
[root@xxw HAproxy]# sh ~/test/test
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
192.168.109.5 It is work!
1.3.14版本支持以下负载算法:
* 简单的轮询,balance roundrobin;
* 根据请求的源IP,balance source;
* 根据请求的uri,balance uri;
* 根据请求RUL中的参数,balance url_param
在http://192.168.109.4/hproxy上可以看到详细的状态 (帐户就是haproxy.cfg上的gao:gao)
LVS太笨重了,如果Nginx健康检查好的话,还是转向Nginx吧,尽管配置比HAproxy稍稍复杂
HAproxy 支持双机热备,注意搜集一下这方面的资料,下一步是测试Nginx的会话保持功能。
本文出自 “西瓜皮” 博客,谢绝转载!
0人
了这篇文章
类别:未分类┆技术圈(0)┆阅读(458)┆评论(1) ┆ 推送到技术圈┆返回首页
上一篇 初装squid 下一篇 nginx的五种负载算法
相关文章
- haproxy实现均衡负载(linux)
- 使用WEB方式更改域用户帐户密码
- 解决内网用户不能正常访问内部WEB服务器问题
- ratproxy - passive web application securi..
- Windows 2003系统安全+IIS下Web与FTP的完美..
- web程序中如何上传文件?
- web2.0网站如何设计UE/UI
- Web网站目录扫描技术研究专题
- WebWork简介
- 实验6 Web服务器的配置
文章评论
[1楼] luwenju
2010-05-16 23:23:34
不错 顶~
短消息通知评论者
发表评论
- 验证码:
-
点击图片可刷新验证码请点击后输入验证码博客过2级,无需填写验证码
- 内 容:
同时赞一个