以自己曾經設計高可用的交易系統思路請參考。
具體是考慮通訊高可用、服務高可用這兩維度來保證平臺支援服務的分散式部署、叢集容錯和負載均衡來實現。具體如下:
(一) 通訊高可用
交易系統叢集模式為全節點Online模式,所有應用叢集內部節點可同構橫向擴充套件並負載均衡。當一個節點出現故障時(如下圖),叢集自動將故障節點隔離,並將交易請求分流到其它正常節點;當檢測到原故障節點恢復時自動納入叢集可用節點。
透過以上機制,確保了系統在發生單點故障時,不影響整個系統執行,相對於傳統HA模式,全節點Online模式無切換不應期,保證了系統的7*24小時服務能力。
(二) 服務高可用
服務釋出和治理是透過註冊中心完成的。
當一個服務的多個提供方中有一方故障或停機更新的時候,註冊中心會及時獲取服務狀態資訊並推送給消費方,消費方獲取的可用服務列表將停機的服務剔除,僅傳送給正常的服務提供方;當服務恢復後,註冊中心也會推送新的服務地址給消費方,完成服務恢復。
以自己曾經設計高可用的交易系統思路請參考。
具體是考慮通訊高可用、服務高可用這兩維度來保證平臺支援服務的分散式部署、叢集容錯和負載均衡來實現。具體如下:
(一) 通訊高可用
交易系統叢集模式為全節點Online模式,所有應用叢集內部節點可同構橫向擴充套件並負載均衡。當一個節點出現故障時(如下圖),叢集自動將故障節點隔離,並將交易請求分流到其它正常節點;當檢測到原故障節點恢復時自動納入叢集可用節點。
透過以上機制,確保了系統在發生單點故障時,不影響整個系統執行,相對於傳統HA模式,全節點Online模式無切換不應期,保證了系統的7*24小時服務能力。
(二) 服務高可用
服務釋出和治理是透過註冊中心完成的。
當一個服務的多個提供方中有一方故障或停機更新的時候,註冊中心會及時獲取服務狀態資訊並推送給消費方,消費方獲取的可用服務列表將停機的服務剔除,僅傳送給正常的服務提供方;當服務恢復後,註冊中心也會推送新的服務地址給消費方,完成服務恢復。
結論:設計的目標系統所有子系統均需支援負載均衡和橫向擴充套件,可透過配合合理的部署方案,將能夠保證系統的軟、硬體平滑地擴容和升級,使之不僅能滿足當前的業務需要,還為今後業務領域的發展提供的擴充套件支援。應用系統叢集模式為全節點Online模式,即所有應用叢集內部節點可同構橫向擴充套件並負載均衡。