首页 > 脚本编程 > 负载均衡软件 Nginx, Haproxy,LVS比较
您的足迹
  • 你没有浏览过任何文章或者你没有开启cookies。

负载均衡软件 Nginx, Haproxy,LVS比较

1、NGINX
Nginx的优点:
性能好,可以负载超过1万的并发。
功能多,除了负载均衡,还能作Web服务器,而且可以通过Geo模块来实现流量分配。
社区活跃,第三方补丁和模块很多
支持gzip proxy
缺点:
对后端realserver的健康检查功能效果不好。而且只支持通过端口来检测,不支持通过url来检测。
nginx对big request header的支持不是很好,如果client_header_buffer_size设置
的比较小,就会返回400bad request页面。

2、HAPROXY
Haproxy的优点:
它的优点正好可以补充nginx的缺点。支持session保持,同时支持通过获取指定的url来检测后端服务器的状态。
支持tcp模式的负载均衡。比如可以给mysql的从服务器集群和邮件服务器做负载均衡。
缺点:
不支持虚拟主机
目前没有nagios和cacti的性能监控模板

3、LVS
LVS的优点:
性能好,接近硬件设备的网络吞吐和连接负载能力。
LVS的DR模式,支持通过广域网进行负载均衡。这个其他任何负载均衡软件目前都不具备。
缺点:
比较重型。另外社区不如nginx活跃。

 

————————————————————————————–

nginx 的session 保持 :

目前关于nginx做proxy的会话保持功能实现有2种方法:

一、ip_hash
可以实现回话保持,但是需要加max_fails=0;防止当机后服务不能跳转的问题。
upstream cluster {
ip_hash;
server xxx.xxx.xxx.xxx:80 max_fails=0;
}

经过实地测试,发现max_fails=0,不用添加。这个设置的意思是关闭了nginx的健康检查。在不关闭的情况下,也就是默认取1时,某节点宕机,服务自动跳转到其他节点,完全没有影响。

二、第三方模块 nginx_upstream_jvm_route
1.For resin
upstream backend {
server 192.168.0.100 srun_id=a;
server 192.168.0.101 srun_id=b;
server 192.168.0.102 srun_id=c;
server 192.168.0.103 srun_id=d;
jvm_route $cookie_JSESSIONID|sessionid;
}
2.For tomcat
upstream backend {
server 192.168.0.100 srun_id=a;
server 192.168.0.101 srun_id=b;
server 192.168.0.102 srun_id=c;
server 192.168.0.103 srun_id=d;
jvm_route $cookie_JSESSIONID|sessionid reverse;
}

第二种方法从网上搜索文档很多。

 

参考:http://m114.org/system/linux/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E8%BD%AF%E4%BB%B6-nginx-haproxylvs%E6%AF%94%E8%BE%83.html

 

http://linuxgp.blog.51cto.com/1708668/481584


相关博文

  1. 还没有评论
评论提交中, 请稍候...

留言

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks
Feed