我正在开发一个应用程序,其中有两个多线程服务器(Server1和Server2)。我将这两台服务器中的数据保存在Map中。我想要做的是在服务器之间进行负载平衡(两台服务器上的数据量相同)。所以我有两个问题:
1)如何将客户端随机连接到服务器?例如,当我启动客户端时,此客户端连接到例如Server1,当我启动另一个客户端时,此客户端连接到Server2。
2)我可以使用哪种技术在服务器中进行负载平衡?
最好的问候。
答案 0 :(得分:1)
在两台服务器之间分配负载的非常简单的解决方案是使用Round-robin DNS。这里的基本思想是,所有DNS请求(由您的客户端)不仅会解析为单个IP地址,而是解析它们的列表(在您的情况下为两个)。这反过来意味着它们将有效地连接到任一服务器。
这种简单性(及其缺点)是每个返回的IP地址的概率不 100 / n
(其中n
是列表中的地址数)。我只想强调它不一定是50%(在两个的情况下)。
现在,如果您想要 true 负载平衡,您可以查看将放在Server1
和Server2
前面的负载平衡设备。像这样的东西会更可靠,但是你的成本/复杂性也会增加。
对于最简单的解决方案,我会研究循环DNS。
答案 1 :(得分:0)
您可能正在寻找ReverseProxy。有很多解决方案,根据您的项目,可能比另一个更合适。