2012-02-09 155 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。有很多解決方案,取決於您的項目,可能比另一個更合適。