Archive for » August 21st, 2009 «

Haproxy/ Varnish/ Cherokee/ Nginx/ Lighttpd

最近在蹦心的开发环境下交叉对比测试了标题中各个牛X东东的组合架构,最后采用的结构是:

Haproxy->Varnish->Nginx/Cherokee/Lighttpd

前端使用Haproxy作为BigIP的负载均衡节点,最新版对双机热备、L7交换均有较好支持,友好的web状态监控也很不错;至于为什么不选择Varnish、Nginx或者LVS作为负载均衡,不多说了,具体问题可以和我探讨;

在Haproxy下挂载Varnish作为cache和二级负载分发处理层,考虑因素是比squid更好的可配置性和理论性能数据;

后端的web server优先考虑Nginx,其次进行了部分节点部署Cherokee,一方面为了测试性能,也是为了跟踪该软件后续升级后的表现,从目前我的测试环境来看,并非有Nginx性能好,因为从Haproxy的优先选择结果来看,更多的会选择Nginx后端分发请求,即使有weight优先的情况下。Lightpd逐渐的退出我们的系统了,更新的停滞和相对性能无优势的现状使得被我逐渐放弃。

其实从很多中小站点来说,对于使用Haproxy还是Varnish或者Nginx做负载均衡,差别都是不大的,理论的测试数据对中小站点来说,没有太多实际意义,选择一个最熟悉,配置最方便的才是最好的,综合实际情况来说,用Nginx作为负载均衡还是不错的,比如可以集中处理日志,灵活的配置文件语法可以方便的使用正则配置L7交换逻辑,这些都是很实际的。

随着蹦心的发展,将不断根据具体情况调整架构并且随时和大家分享经验。

开发环境下的haproxy监控,点击图片看大图

开发环境下的haproxy监控,点击图片看大图