2012-11-01 115 views
0

假設我想運行類似於nyan cat telnet服務器(http://miku.acm.uiuc.edu/)的東西,我需要處理總共10,000個併發連接。除了負載平衡器之外,我還有10臺服務器。每個服務器可以處理1,000個併發連接,並且我希望在其前面放置一個負載平衡器,以將流量隨機分配到10臺服務器。使用負載均衡器獲取(非HTTP)客戶端IP

從我讀到的內容來看,負載均衡器通過HTTP請求(以及客戶端IP)到後端服務器(可能使用FastCGI或X頭)非常簡單。

在這種情況下,使用簡單的TCP服務器,負載平衡器將客戶端IP傳遞到後端服務器的最簡單方法是什麼?是否需要硬件負載平衡器,或者是否有方法通過軟件簡單地完成此操作?

換句話說,有沒有一種統一的方式來傳遞客戶端IP時,負載平衡非HTTP的東西?當Google負載均衡Google Talk XMPP服務器或其Gmail Gmail IMAP服務器時,Google獲得客戶端IP的方式相同

這不適用於任何特定情況;我只是好奇如何以及如何做到這一點。提前致謝!

回答

2

最簡單的方法是讓負載均衡器使自己完全不可見,並且將源連接和目標IP地址連接到不受干擾的連接。爲此,必須爲所有10臺服務器分配相同的IP地址(作爲環回地址,而不是物理接口),並且這將是客戶端連接到的IP地址。到該IP地址的互聯網流量必須轉到負載均衡器。負載均衡器必須是服務器的默認網關。