Web-Server
使用 BGP 的 Web 伺服器的 IP 級別故障轉移(我瘋了嗎?)
我考慮過使用循環 DNS 故障轉移,但由於不同級別的 DNS 記憶體,您會冒著舊記錄指向故障站點的風險。
如果我擁有自己的地址空間和 AS 號,在數據中心 1,我可以通過路由器向全世界宣布我的 1.1.1.x/x 網路,每個人都可以在 1.1.1.1 上訪問負載均衡器,生活是美好的。然後我可以在另一個數據中心進行相同的設置,那裡的路由器也會向那裡的不同上游提供商宣布我的 IP 空間和 AS 編號。使用者顯然會根據本地 ISP 網路中的 AS-PATH 和來自 BGP 的其他指標來選擇最接近他們的設置。
現在,讓我們假設數據中心 1 發生了可怕的事情,路由器 1 下線,我的 IP 空間和 AS 不再在那裡公佈,所有流量都將回落到數據中心 2,以用於 1.1.1.1 的流量(負載均衡器)。人們這樣做,這是一個荒謬的想法嗎?我是否錯過了一些關於為什麼我不應該這樣做的顯而易見的事情?這只是不實用,還是天才計劃?
它工作正常。它只需要更多的工程工作才能完成,您需要路由器、BGP 連接、您自己的 IP 空間等。我假設在您上面的範例中,您的數據中心 1 和 2 一直在執行。
許多人都做得很好,查找“任播”以了解您要執行的操作。最大的問題是它對基於 UDP 的服務(無狀態)效果更好。如果您通過 HTTP 下載一個大文件,並且路由器端出現中斷,您的流量將轉到新的 1.1.1.1,它不知道發生了什麼,並將斷開連接。