Dot-Net
對伺服器場使用單個 IP 地址
我正在建構一個應用程序,其中有 XX 個可以在單個實例上執行的客戶。該應用程序通過添加更多節點來擴展(從而支持 XX 更多的客戶)。我想要一種使用單個 IP 地址的方法,這樣我就可以讓客戶設置 CNAME 以使用他們自己的自定義 URL。
我還希望能夠將客戶遷移到不同的節點,這意味著 CNAME 需要指向不同的 IP 地址。
我的想法是我可以將每個人指向一個 IP 地址,然後讓該應用程序將客戶請求路由到不同的伺服器節點。這就像負載均衡器會做的事情(根據我的研究),但對於我想做的所有事情來說,這似乎有點矯枉過正。
我更喜歡在 .NET 中執行此操作的方法,但我願意接受任何技術來實現這一目標。
您沒有提到在任何地方使用 HTTP,但是您將問題標記為“web-applications”和“web-farm”,所以我假設這是您的應用程序使用的;如果這是您的情況,那麼這看起來就像存在反向代理的確切工作類型。
您設置了 N 台內部伺服器,每台執行在自己的內部 IP 地址上,並在每台伺服器上配置 IIS(或您正在使用的任何 Web 伺服器)來處理該伺服器將響應的網站名稱。
然後你給你的反向代理一個可以與內部伺服器通信的內部 IP 地址和一個外部公共 IP 地址。
然後讓所有公共 DNS 名稱指向反向代理的外部地址。
最後,您配置反向代理,以便將對給定網站名稱的請求轉發到實際託管它的內部 Web 伺服器。
你去吧。
我確信 ISA Server 2006 和 ForeFront TMG 2010 都可以輕鬆做到這一點,但當然您可以使用任何您想要的反向代理軟體。
當然,您可以使用一組負載平衡的反向代理來實現高可用性和負載平衡。