对于做软负载,我们都知道主流的方案有lvs、haproxy、nginx!那么对于haproxy和nginx,我们如何选择呢?回答这个问题之前,我根据个人使用经验来讲下它们的特点!

Haproxy特点
支持TCP与Http协议,工作在网络4层和7层
支持Session共享、Cookies引导
支持通过URL健康检测
支持8种负载均衡策略
支持心跳检测
Nginx特点
支持Http协议,工作在网络7层
支持通过端口健康检测
支持强大的正则匹配规则
支持WebSocket协议
2013年07月06日 V1.60 升级包更新方式:admin文件夹改成你后台目录名,然后补丁包里的所有文件覆盖进去。1.[新增]后台引导页加入非IE浏览器提示,后台部分功能在非IE浏览器下可能没法使用2.[改进]淘客商品管理 首页 列表页 内容页 的下拉项加入颜色来区别不同项3.[改进]后台新增/修改淘客商品,增加淘宝字样的图标和天猫字样图标改成天猫logo图标4.[改进]为统一名称,“分类”改
支持Http Cache
说明:
对于Http协议,Haproxy处理效率比Nginx高。所以,没有特殊要求的时候或者一般场景,建议使用Haproxy来做Http协议负载!但如果是Web,那么建议使用Nginx!总之,大家可以结合各自使用场景的特点来进行合理地选择!
上次有人问我:Nginx或Haproxy的连接数能否突破“65535”这个“魔咒”?其实大家有这样的疑问,是因为对Nginx或Haproxy工作原理不了解导致的!
下面以Linux服务器为例,讲解下二者理论上最大连接数:
Linux上Nginx理论上最大连接数
正向代理:最大连接数 = work_processes * worker_connections
反向代理:最大连接数 = work_processes * worker_connections / 4
备注:worker_connections指单个进程能够处理的最大连接数,假设你的服务器是8核,worker_connections =
65535(可以自定义的,但最大不能超过最大文件描述符数,因为1个连接相当于使用了1个文件描述符)
在上述2种情况下最大连接数(理论值)分别是: 8 * 65535 和 8 * 65535 /4
Linux上Haproxy理论上最大连接数
最大连接数 = maxconn( global | defaults | listen )
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!









