Answers:
区分这两种解决方案(LVS,HAproxy)的最重要的事情是,一种解决方案在第4层(LVS)工作,而另一种在第7层(HAproxy)工作。请注意,这些层引用来自OSI网络模型。
如果您了解这一点,则可以在正确的位置使用它。例如:如果您仅需要基于连接数进行平衡(比方说),那么第4层负载平衡器就足够了;另一方面,如果要基于HTTP响应时间进行负载平衡,则需要更高级别的LB。
使用较高级别的LB的缺点是需要的资源(对于相同数量的流量来说)。优点很明显-例如“数据包级检查”,“协议路由”等-比简单的“数据包路由”复杂得多。
我要说明的最后一点是,HAproxy是用户空间(认为“更容易自定义/调整”,但速度(性能)要慢得多),而LVS在内核空间中(认为“像地狱一样快”,但像内核一样严格) )。另外,不要忘记“升级LVS可能意味着内核更改-因此,重新启动” ...
总之,使用正确的工具完成正确的工作。
您应该同时使用:HAProxy是出色的负载平衡器,LVS是故障转移的解决方案,可以避免单点故障。