Web-Server

配置 DNS 以從多個伺服器為單個域提供頁面

  • December 17, 2009

我有一些非常高可用性的網頁內容需要 24x7 線上。因此,與其依賴一台伺服器,我想知道我是否可以用多台伺服器處理一個域名?

我可以為該域設置不同的名稱伺服器嗎?請求會在這些伺服器之間自動分發嗎?就這麼簡單嗎?

您絕對不想使用 Round Robin DNS。主要問題是它無法通過任何類型的智能來平衡負載,並且它沒有考慮客戶端的 DNS 記憶體。DNS 並不意味著做負載平衡。該技術已被棄用,您真正想要使用的是伺服器負載均衡器(設備或軟體,但如果您關心性能,我真的推薦使用設備)。

會發生什麼:

  • 您設置一個域名,並將其 IP 地址綁定到您的負載均衡器 (SLB) 的公共 IP 地址,這稱為 VIP(虛擬 IP 地址)。
  • 當 SLB 收到連接請求時,它會在客戶端和自身之間建立連接。然後,您的客戶端將在該連接內發送數據(在您的情況下為 HTTP 請求)。一些 SLB 可以根據請求的類型將數據流重定向到特定的伺服器,但現在這有點高級。
  • 然後,SLB 將在它自己和另一個伺服器之間建立另一個連接。它將從您指定的池中選擇伺服器。您可以在此處指定所有伺服器的 IP 地址。根據您定義的負載平衡規則,它將選擇一台伺服器或另一台伺服器。一些可能的規則是 Round Robin(它將第一個使用者發送到第一個伺服器,第二個使用者發送到第二個伺服器,依此類推),Weight(如果伺服器 1 比伺服器 2 強大兩倍,它將發送兩倍的使用者到第一台伺服器),負載(如果伺服器2比伺服器3負載更多,則SLB將優先發送到伺服器3),以及其他一些。
  • 一種流行的提高性能的方法是使用 SLB 在自身和客戶端之間進行 SSL 終止,然後在自身和伺服器之間使用明文。這樣,您的伺服器上就不需要 SSL(節省大量性能),大多數情況下這很好,因為您在一個私有的、受信任的網路上;同時仍保持公共(網際網路)網路所需的安全級別。

一些流行的 SLB 供應商是 F5(我個人最喜歡的,但這只是我,而且它們往往更貴 - 有充分的理由,但這也是我的看法)、RadWare、Cisco 和 Juniper。

引用自:https://serverfault.com/questions/95219