2012-02-09 102 views
1

我正在开发一个应用程序,我有两个多线程服务器(Server1和Server2)。我将这两台服务器中的数据保存在一个Map中。我想要做的是在服务器之间做一个负载均衡(两台服务器上的数据量相同)。所以我有两个问题:客户端 - 服务器架构与多个服务器

1)如何将客户端随机连接到服务器?例如,当我启动一个客户端时,这个客户端连接到Server1,当我启动另一个客户端时,这个客户端连接到Server2。

2)我可以使用什么技术来完成服务器中的负载平衡?

此致敬礼。

回答

1

A 很容易解决方案分布在两台服务器之间的负载将使用Round-robin DNS。这里的基本思想是,所有的DNS请求(由你的客户)不仅仅解析为一个IP地址,而是它们的一个列表(你的情况二)。这又意味着他们将有效地连接到任一服务器。

这样做的简单性(和下侧)是每个IP地址返回的概率是100/n(其中n是地址列表中的数量)。我只是想强调它不一定是50%(在两种情况下)。

现在,如果你想要true负载平衡,你可以看看你将放在Server1和之前的负载平衡设备。像这样的东西会更加可靠,但是你的成本/复杂性也会增加。

对于最简单的解决方案,我会考虑循环法DNS。

0

您可能正在寻找一个ReverseProxy。有很多解决方案,取决于您的项目,可能比另一个更合适。