【问题标题】:Client-Server architecture with multiple servers具有多个服务器的客户端-服务器架构
【发布时间】:2012-02-09 02:04:58
【问题描述】:

我正在开发一个应用程序,其中有两个多线程服务器(Server1 和 Server2)。我将这两个服务器中的数据保存在地图中。我想做的是在这与服务器之间进行负载平衡(两台服务器上的数据量相同)。所以我有两个问题:

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

2) 我可以使用什么技术在服务器中进行负载平衡?

最好的问候。

【问题讨论】:

    标签: java client-server java-io


    【解决方案1】:

    在两台服务器之间分配负载的非常简单的解决方案是使用Round-robin DNS。这里的基本思想是所有 DNS 请求(由您的客户端)不仅会解析为单个 IP 地址,而且会解析为它们的 list(在您的情况下为两个)。这反过来意味着他们将有效地连接到任一服务器。

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

    现在如果您想要真正的负载平衡,您可以查看您将放在Server1Server2 前面的负载平衡设备。这样的事情会更可靠,但您的成本/复杂性也会增加。

    对于最简单的解决方案,我会研究循环 DNS。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多