分布式项目中的负载均衡

时间:2008-12-11 13:57:59

标签: java algorithm distributed load-balancing

有没有人知道一个简单的负载平衡算法(公式),它将用户连接,cpu负载,网络负载和内存使用情况联系起来? 这将用于比较各种服务器,并在当前最好地分配给新用户。 谢谢。

3 个答案:

答案 0 :(得分:3)

如果您使用Apache Web Server代理应用程序服务器,我建议您使用mod_proxymod_proxy_balancer。您可以找到有关mod_proxy here的快速介绍。这是关于Jetty的,但它很容易适用于其他服务器。

您需要担心群集的第一件事是处理会话的方式。您需要确保属于会话的请求定向到同一服务器(或者会话以某种方式持久化,然后始终检索)。 Mod_proxy可以为你做到这一点。

关于负载平衡算法,请参阅mod_proxy_balancer的文档。据此,有3种负载均衡器调度算法。

负载均衡的旧解决方案是mod_jk。

一般来说,即使我有更好的算法,这也不是我自己实现的。最好使用现有的解决方案。

答案 1 :(得分:0)

看看nginx。它很容易配置,非常快,并处理服务器之间的负载平衡。

需要相应的分布式会话处理(请参阅kgiannakakis)以获取详细信息。

答案 2 :(得分:0)

看看haproxy。它是一个极其稳定且快速加载的HTTP / TCP负载均衡器,被一些极端流量的网站使用。

需要相应的分布式会话处理(请参阅kgiannakakis)以获取详细信息。