大型在線實時應用解決方案

前言:

各家互聯網公司每年都有印有自己圖騰的重大活動,例如天貓的雙十一、京東的六幺八、芒果TV的跨年晚會等。這些活動不僅會帶來流量的激增,同時活動的成敗也幾乎決定了產品線研發運維人員的荷包收益。所以每當這種大型在線實時應用活動到來時,公司都會提前一個月組成臨時戰鬥小組全力研究各種解決方案,本文我就基於自己的理解從宏觀上進行分析和講解。

1全鏈路監控解決方案

全鏈路監控是最重要也是時間維度上最先要進行的工作,從客戶端接收到服務請求到http層經過哪些服務節點的跳遷,到提供服務的API依賴了哪些Paas層的組件,再到web服務和Pass層組件落到了哪些Iaas層實例上,只有捋清楚它們的關係,纔有條件做鏈路的分析和優化。

全鏈路監控的目的是爲了做到3個“有”:

1.1事前有預案

經過監控分析後發現風險所在,提前準備各種風險出現時的解決方案。

1.2事中有手段

只有預案還不夠,因爲活動中可能會發生各種不可預測的問題,需要提前準備好腳本、工具等批量操作手段,當危機爆發時可以最快速度進行處理。

1.3事後有分析

活動結束後進行復盤,積累經驗,修正不足,爲來年的活動做知識儲備。

2全鏈路壓測解決方案

這裏特別強調的是一定是對真實生產環境進行壓測,因爲只有對接真正的活動當天的服務器資源、數據庫資源、Redis和MQ資源等才能真實的評估出全鏈路的性能情況,纔能有針對性的去進行補足。

全鏈路壓測的難點在於數據擋板,也就是說如何避免壓測數據污染到生產數據,一般常用的手段是影子表和影子請求,當壓測結束後直接將影子表刪掉就好。

3服務器高可用解決方案

服務的可靠性我們可以劃分爲4個等級:

3.1 單點故障

這個很好理解,不必多說

3.2 異機容災

比單點好一點,不能解決機房停電、光纖挖斷等帶來的服務不可用

3.3 異地多活

最常用的可靠性等級,對服務器進行多個地區的部署,屬於雲平臺的標準功能,土豪可以搭建異地的IDC

3.4 混合雲異地多活

這個應該是目前可靠性最高的解決方案,在不同雲廠商不同的地區都部署服務,只要地球不毀滅服務器就不會出問題。當然這種設計的成本也是巨大的,冗餘的雲實例、網絡專線、跨雲的數據交互中心等,都需要投入真金白銀。

4應用高可用解決方案

每個服務節點前面已經介紹過如何做到高可用性,這裏的應用高可用性主要針對整個服務調度網絡來說的,不能因爲個別應用出現問題而影響到整個任務鏈,需要做好服務降級和熔斷的備案。

5重點保護/高級護航

首先要找到活動中自己的核心服務,例如芒果跨年晚會,核心服務就是視頻直播、會員註冊、充值這3個,因爲這三個服務裏有一個出現問題,那跨年活動就失去了意義。剩下的彈幕啊、節目評論啊、藍光啊出現點問題是可以接受的。

找到這些重點保護服務後就要啓動高級護航了,例如抽調全公司最強的技術人員組成專家組、付費對外尋求support、從戰略合作伙伴那裏獲得技術支持等。目的只有一個,不管發生任何事情,我的重點服務不允許出現故障,這是本次大型活動的底線。

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