在實際的專案中,我們都是使用“伺服器高可用叢集,避免單點故障,保障業務冗餘,實現業務系統不間斷工作”這樣的描述來編寫方案。
比如我們的實際專案中,考慮了最核心的業務系統,重要環節的高可用:
從Internet 的出口硬體防火牆===>反向代理===> 應用伺服器(Web 伺服器)===》 資料庫伺服器,以上這些環節,我們都採用至少雙機的模式,來實現業務系統的高可用,保障業務系統持續不間斷的提供服務。
一、 Internet 的出口防火牆 高可用
使用了 2 臺硬體防火牆,使用防火牆的HA功能,實現Internet 出口的高可用。
二、反向代理高可用
我們使用了2臺Nginx 伺服器作為反向代理伺服器,使用Keepalived 實現2臺伺服器的叢集 ,提供 1個叢集IP (VIP),用於防火牆將業務訪問的資料流,轉發到叢集虛擬IP (VIP),然後 Nginx 再將業務請求,轉發給後端的 應用伺服器叢集。 從而實現了反向代理系統的高可用。
三、應用伺服器高可用
應用伺服器(Web伺服器)採用至少2臺以上的數量,全部都部署相同的業務系統,因此任何1臺伺服器出現故障宕機或者損壞,都不會對業務系統的正常執行造成影響。
三、資料庫高可用
資料庫使用叢集功能,以實現資料庫的高可用。如 Oracle 資料庫可以使用 RAC 技術,組建叢集; SQL Server 可以使用 Always ON 技術組建叢集。
實際的專案網路結構圖如下:
以上是專案中實際情況的一個高可用叢集,以此回答題主的問題。
在實際的專案中,我們都是使用“伺服器高可用叢集,避免單點故障,保障業務冗餘,實現業務系統不間斷工作”這樣的描述來編寫方案。
比如我們的實際專案中,考慮了最核心的業務系統,重要環節的高可用:
從Internet 的出口硬體防火牆===>反向代理===> 應用伺服器(Web 伺服器)===》 資料庫伺服器,以上這些環節,我們都採用至少雙機的模式,來實現業務系統的高可用,保障業務系統持續不間斷的提供服務。
一、 Internet 的出口防火牆 高可用
使用了 2 臺硬體防火牆,使用防火牆的HA功能,實現Internet 出口的高可用。
二、反向代理高可用
我們使用了2臺Nginx 伺服器作為反向代理伺服器,使用Keepalived 實現2臺伺服器的叢集 ,提供 1個叢集IP (VIP),用於防火牆將業務訪問的資料流,轉發到叢集虛擬IP (VIP),然後 Nginx 再將業務請求,轉發給後端的 應用伺服器叢集。 從而實現了反向代理系統的高可用。
三、應用伺服器高可用
應用伺服器(Web伺服器)採用至少2臺以上的數量,全部都部署相同的業務系統,因此任何1臺伺服器出現故障宕機或者損壞,都不會對業務系統的正常執行造成影響。
三、資料庫高可用
資料庫使用叢集功能,以實現資料庫的高可用。如 Oracle 資料庫可以使用 RAC 技術,組建叢集; SQL Server 可以使用 Always ON 技術組建叢集。
實際的專案網路結構圖如下:
以上是專案中實際情況的一個高可用叢集,以此回答題主的問題。