Web-Server
EC2 上的 Web 服務前端的零停機可用性?
我們有一個負載低但可用性要求高的 Web 應用程序。它由一個前端負載均衡器和幾個後端伺服器組成。負載均衡器主要用於屏蔽故障,而不是用於分散負載。
通過跨兩個可用區的複制使後端伺服器具有高可用性。但是如何使前端提示本身俱有高可用性?目前是單點故障。
我們可能會使用 AWS Elastic Load Balancing,但它有點貴,而且我們也不需要負載平衡部分,所以:您將如何以另一種方式解決這個問題?
一個接近的想法是使用 ping 或心跳來監控前端;超時時,將前端的彈性 IP 切換到另一台配置為也用作前端的機器。我對這種方法的主要擔憂是,彈性 IP 分配顯然可能需要10 分鐘才能傳播。
有什麼比這種方法響應時間更快的嗎?認為零停機時間是可能的嗎?
以另一種方式回答這個問題:您將如何在沒有 AWS Elastic Load Balancing 的正常自託管數據中心中完成此任務?
快速、可靠、便宜。隨便選兩個。
不過,老實說,“零停機時間”無論如何都是不可能的。您想要零停機時間,但您似乎不願意為此花費必要的資金。
我相信您在心跳和將前端的 IP 擺動到另一個節點時走在正確的軌道上。比這更複雜的事情要麼涉及與 Akamai 或 Limelight 等 CDN 的服務簽訂契約,要麼涉及獲取 AS 編號、配置 BGP、獲取 IP 分配、在兩個地理上遙遠的 colo 中設置設備並在它們之間複製數據。這些選項中的任何一個都將非常昂貴且實施起來很複雜。