调度器对比:
Nginx
优点
- 1.9版本开始支持四层代理。
- 正则表达式比HaProxy强大,开源LVS不支持正则。
- 使用亲和性强,(可排错性强)通过日志可以解决多数问题。
- 并发量可以达到几万次。
缺点- 七层代理仅支持http、https、mail协议,应用面小。
- 健康检查仅通过端口状态,无法使用url来进行健康检查。
- Nginx支持基本正则,扩展正则,perl正则,posix正则。所以灵活性强,可以完成更多的需求。
LVS
- [x] 工作在TCP/IP协议四层,转发包不对包进行拆包和封装,硬件资源消耗低。
- [x] 配置性低,没有太多可配置性,配置也更简单。
- [x] 工作在TCP/IP四层,几乎可以为所有应用提供负载均衡。
- [ ] 不支持正则表达式,不能实现动静分离。
[ ] 如果服务架构庞大,LVS-DR模式配置比较繁琐。
- LVS开源版本不支持正则表达式,所以无法实现很多功能。但是优点非常明确,工作在TCP/IP四层几乎可以为所有应用提供服务,而且少了七层调度的拆包和封包效率非常高!硬件资源占用更加低!
HaProxy
- [x] 支持session、cookie功能。
- [x] 可以通过url进行健康检查。
- [x] 效率、负载均衡速度,高于Nginx,低于LVS。
- [x] HAProxy 支持TCP,可以对MySQL进行负载均衡。
- [x] 调度算法丰富。
- [ ] 正则弱于Nginx
- [ ] 日志依赖于syslogd
小型架构调度选Nginx (万级)
中型架构调度选HaProxy (十万)
大型架构调度选LVS (百万级)
来源:博客园
作者:不愿透露姓名的先生
链接:https://www.cnblogs.com/lqinghua/p/11657906.html