使用 Windows,我们只需安装 NLB 并选择集群中需要的节点,即可为任意 IP 服务设置负载平衡。它会进行一些 MAC 地址更改,然后使用算法来决定哪个节点处理传入请求。
有没有适用于 Linux 的生产级等效产品?我不想要需要前端服务器物理上(网络方面)位于机器前面的东西(就像某些硬件 LB 和 Linux 虚拟服务器一样,据我所知)。我想要一种类似于 Microsoft 的 NLB 的东西 - 选择 N 个节点,它们都监听同一个 IP,并分配传入的请求。
答案1
以下是 Linux 社区中人们认为相当不错的几个(根据您的要求,不包括 LVS)。我个人只使用过 HAProxy,因此您的情况可能会有所不同。
仅支持 http/https 请求的负载平衡:
答案2
看:http://lnlb.sourceforge.net/
这似乎正是您所要求的。
该页面将其总结为:所有节点共享一个公共 IP(在虚拟接口上)。您所要做的就是绑定虚拟接口,驱动程序将完成其余工作。
这听起来很像 Windows NLB。
答案3
如果你想要像 NLB 这样的负载平衡,你应该看看 iptables 中的 clusterip。->http://security.maruhn.com/iptables-tutorial/x8906.html
它的功能完全相同,只是缺少故障转移部分,但也许存在一些可用于此的工具。
答案4
循环 DNS 可能是最简单的解决方案,但对于您的要求来说可能太简单了。