「雙十一」剛剛結束,其實最緊張的不是商鋪理貨,也不是網友緊盯大促商品準備秒殺,而是網購幕後的運維人員,他們最擔憂:什麼網絡中斷、應用卡頓、響應速度慢,服務器宕機……算法
雙十一做爲電商 IT 部門的頭等大事,大促前,運維人員就須要早早地作好多套預備方案,並時刻緊繃着神經,經歷着上百次模擬演練。他們在後端有多少不眠不休的夜晚,不得而知。幾年前,一場秒殺讓服務器宕機是常態,如今,一秒數十萬的訂單,服務器依然堅挺。毫無疑問,支撐起這一切的是強有力的技術和運維人一個個不眠的夜晚。數據庫
看似簡單的雙十一背後牽扯到是包括支付、架構、數據庫、網絡、運維、電力、客服、物流等整個商業配套基礎設施的協同和考驗。後端
雙十一大促的那些年 運維邁過的坑服務器
天貓雙十一大促最先開始於 2009 年,那時候仍是淘寶商城,一天的 GMV 只有幾千萬,並且尚未零點全民瘋搶的概念。在大促前工程師們基本上會根據各自的經驗判斷,好比服務器的當前負載、應用的當前 RT 和 QPS,判斷每臺服務器最大能支撐多少能力等,而後幾我的討論後就決策拍板,某某核心應用各自要加多少臺服務器,到底要加多少服務器,實際上你們的內心沒底,實在不放心臨時再多申請擴容。總之這個階段業務量也小,也能應付過去。網絡
後來幾年隨着天貓品牌的提高,雙十一大促逐年爆發,原來的運維方式已經沒法適用。業務發展迅速,後端的應用數量也大大增長,各個應用系統之間的調用鏈路錯綜複雜。大促前到底要準備擴容多少資源?不能拍腦殼熱,由於你申請資源太多會可能被拒絕,申請少了你要承擔更大的風險。這時候用線上壓測的方式來解決,好比能夠直接在生產環境抽取 1 臺服務器,經過模擬回放或者直接引入多倍流量作壓測,根據壓測結果計算出單臺服務器的最大可承載能力,而後用數字來講話,去申請擴容。還有就是即便容量規劃作到位了,但在零點峯值的時候仍是可能會超出預期,系統仍是會擠爆。因此又引入了限流和降級,限流就是對各個應用設置一個最大閾值,超過閾值就馬上拒絕新的請求,這樣的好處就是保護應用,避免雪崩。還有就是降級,因爲應用太多,在大促的期間,能夠關閉部分非核心功能,保證交易主流程的能力最大化。那個階段的壓測也不是徹底精確的,主要問題是壓測的侷限性,只是對某個應用作單獨壓測,可是應用之間是有依賴有關聯的,特別是一些共享服務中心,基本上被全部應用都依賴調用,那怎麼辦呢?後來幾年時間又研發出新的壓測工具,全鏈路壓測。這個對於容量規劃來講,是全新的思路,直接在生產環境上經過模擬複製產生大批的流量,每一個環節都會被壓測到,並有相應的監控系統配套,來找出瓶頸點在哪裏,並迅速優化。並且這個過程被自動化完成。架構
可見,自動化運維是大勢所趨。併發
零點瘋搶背後的指揮若定負載均衡
如今的電商雙十一大促活動仍舊延續零點瘋搶模式,對於應用系統保障來講,可否順利扛過前 15 分鐘,甚至是前幾分鐘,成爲最核心的保障任務。運維界大咖給出瞭如下幾點建議:可否順利扛過前 15 分鐘,甚至是前幾分鐘,成爲最核心的保障任務。具體給出瞭如下幾點建議:運維
a. 容量規劃。 儘量在生產環境作壓測,只有經歷過壓測,內心纔會有底。機器學習
b. 關鍵應用要支持限流。 零點全民瘋狂的流量極可能會超出預期,只有設置好限流才能保護好自身應用,不然出現雪崩式連鎖反應。
c. 對非核心功能作降級。 每次雙十一會投入大量的資源,基本會往核心交易類應用傾斜,那麼非核心功能的降級必定程度上是可接受的。
d. 應急預案。 對可能發生的異常情況提早準備。
雙十一大促是最典型的彈性場景
彈性是雲計算的最大優點,而大促是最典型的彈性場景。
隨着雲計算特別是公有云的普及,如今的運維人員基本上無需關注機房、網絡、操做系統等底層設施。在不斷地演練後,現在的電商平臺早已採用彈性可擴展的雲計算平臺,配合分佈式數據,高效的 CDN 分發來實現負載均衡,避免在雙十一凌晨高併發狀態下崩盤。運維人員將更多精力轉移到快速上線,快速迭代,去支持業務發展。
大促活動的流量跟平常徹底不在一個量級,徹底能夠利用雲資源的按需使用,來達到擴容的需求,並且在成本上是巨大的節省。除了擴容之外,固然還須要準備應急預案。整理出當天可能出現的異常狀況,提早預演。
去年天貓雙十一開場僅僅十分鐘,世界支付紀錄被再次刷新。支付寶公佈的數據顯示,在零點 9 分 39 秒,支付寶的支付峯值達到 12 萬筆/秒,是前年的 1.4 倍,刷新了去年創下的峯值紀錄。在支付方式的選擇上,花唄和餘額寶成爲很是受網友歡迎的支付方式,筆數佔比分別高達 29% 和 18% 。
經得起鉅額交易,玩得起光速秒殺,技術系統抗得住,收益率流動性各類穩妥……只有經得起雙十一的終極考驗的纔算是真正的神器!
智能運維要藉助數據和算法才能實現
運維的發展階段經歷了從標準化、工具化、自動化、到如今初露端倪的智能化,每一個階段的發展都表明了生產力和效率的大幅提高,整個趨勢是不可避免的。智能時代的運維不是要讓運維人員失業,而是對運維效率的提升有着極大的訴求,好比如何在錯綜複雜的環境中快速定位問題、root cause、甚至是故障預測,避免發生故障,保障應用穩定性。
智能運維要藉助數據 (運維數據) 和算法才能實現。首先運維能力的發展不是直接跳到智能運維階段的,必然通過標準化、工具化、到自動化的發展過程,只有高度完善的自動化才具有基礎能力。其次就是數據積累,須要大量的運維數據,能夠是日誌數據、網絡抓包數據、數據庫數據等等。還有平常運維產生標註的數據,好比出一次故障後,運維人員會記錄下過程,這個過程會反饋到系統,反過來提高運維水平。最後就是算法,到底採用哪類算法模型作持續優化。
天弘基金在運維部門但願經過服務器性能日誌採集分析,實時監控應用系統基礎資源的使用狀況,經過採集客戶端 Agent 收集服務器和集羣組件的 CPU、內存使用率,以可視化形式展現資源運行情況。
據悉,天弘基金雲日誌平臺項目已開始進行內部推廣,在系統正式運行期間獲得了用戶承認,對用戶的具體價值體如今如下幾個方面:
運維人員:數據脫敏功能幫助運維人員解放人力;採集資源管控功能能夠防止 Agent 程序對服務器和應用產生影響,有效避免災難性故障發生。
研發人員:日誌查詢功能可方便快捷的查詢日誌文件;調用鏈分析幫助研發人員快速定位故障緣由和問題點,協助研發團隊優化系統代碼並進行架構治理。
業務人員:監控告警功能可及時發現業務故障,最大程度上下降故障響應時間,提高用戶服務體驗。
管理人員:智能運維可實時掌握服務資源運行狀況,並可以預測集羣水位,提供基礎資源擴容建議。
寫在最後
除去上述,全部運維團隊還須要提早制定值班計劃,對雙十一當天可能發生的各類突發狀況預案,雙十一各時段應該關注的關鍵點進行詳盡計劃。總之,每一年雙十一都是一次檢驗,一次大考。細節決定成敗,對全體運維人而言,必須全部細節都關注到,演練到,準備到,才足以從容應對每年的雙十一大促。
截至 11月 12 日零點,2017 年天貓「 雙十一 」交易額定格在 1682.69 億元人民幣。不斷創新高的銷售額、交易峯值、支付峯值,這些驚人數字的背後倚仗的是怎樣的技術體系?智能化正逐漸走入 IT 行業乃至社會生活的各個方面。將來,利用大數據關聯分析與機器學習技術爲運維繫統賦予人工智能,提供從故障預防到故障定位、再到故障閉環的智能保障能力。或許到那個時候,運維工程師也能夠輕鬆玩轉雙十一,妥妥的購物買買買啦!