「輕閱讀」如何設計全鏈路99.99%高可用架構?

(一) 什麼是全鏈路99.99%高可用架構?

簡單來說,就是如此複雜的架構中,任何一個環節都可能會故障,比如MQ集羣可能會掛掉、KV集羣可能會掛掉、MySQL集羣可能會掛掉。那你怎麼才能保證說,你這套複雜架構中任何一個環節掛掉了,整套系統可以繼續運行?

這就是所謂的全鏈路99.99%高可用架構

具體是考慮通訊高可用、服務高可用這兩維度來保證平臺支持服務的分佈式部署、集羣容錯和負載均衡來實現。具體如下:

(二) 通訊高可用

交易系統集羣模式爲全節點Online模式,所有應用集羣內部節點可同構橫向擴展並負載均衡。當一個節點出現故障時(如下圖),集羣自動將故障節點隔離,並將交易請求分流到其它正常節點;當檢測到原故障節點恢復時自動納入集羣可用節點。

image

通過以上機制,確保了系統在發生單點故障時,不影響整個系統運行,相對於傳統HA模式,全節點Online模式無切換不應期,保證了系統的7*24小時服務能力。

(三) 服務高可用

服務發佈和治理是通過註冊中心完成的。

image

當一個服務的多個提供方中有一方故障或停機更新的時候,註冊中心會及時獲取服務狀態信息並推送給消費方,消費方獲取的可用服務列表將停機的服務剔除,僅發送給正常的服務提供方;當服務恢復後,註冊中心也會推送新的服務地址給消費方,完成服務恢復。

結論:設計的目標系統所有子系統均需支持負載均衡和橫向擴展,可通過配合合理的部署方案,將能夠保證系統的軟、硬件平滑地擴容和升級,使之不僅能滿足當前的業務需要,還爲今後業務領域的發展提供的擴展支持。應用系統集羣模式爲全節點Online模式,即所有應用集羣內部節點可同構橫向擴展並負載均衡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章