1.3 全鏈路壓測的發展前景
全鏈路壓測已經走過了10年的歲月,當前它正處于生命力最旺盛的時候,幾乎每年都有新的實踐方法迸發出來。筆者摘錄了近幾年互聯網大型峰會上公開的部分與全鏈路壓測相關的議題,由此可見其活躍程度比較高。
● 2017年QCon全球軟件開發大會:全鏈路壓測在滴滴的實踐。
● 2017年GIAC全球互聯網架構大會:餓了么全鏈路壓測實踐與體系建設。
● 2018年GOPS全球運維大會:京東全鏈路壓測軍演系統。
● 2019年TOP100全球軟件案例研究峰會:京東618/“雙11”全鏈路壓測的實踐之路。
● 2020年QECon全球軟件質量&效能大會:百萬級流量無人值守全鏈路壓測實踐。
● 2021年QECon全球軟件質量&效能大會:大規模微服務體系容量保障提效實戰。
● 2021年MTSC中國互聯網測試開發大會:華為應用市場春晚百萬級QPS全鏈路壓測實踐。
● 2022年GIAC全球互聯網架構大會:網易云音樂全鏈路壓測實踐。
通過上述議題,我發現一個有趣的規律,早年人們更多關注如何實施全鏈路壓測,即如何將全鏈路壓測在企業內有效落地,并解決實際問題。而近幾年,重點轉變成了全鏈路壓測的降本提效,即如何以更低的成本實施全鏈路壓測。
這一改變為我們帶來了一些啟示,目前,行業對全鏈路壓測已經不再陌生,對它的效果和價值也有了深刻的認識,因此全鏈路壓測已經進入了成熟期。但相應地,全鏈路壓測實施難度大、成本高、投入多的痛點并沒有改變,這也制約了全鏈路壓測在更多中小型企業的推廣和落地,因此全鏈路壓測的降本提效成了近幾年的研究熱點及方向。
降本提效的理念貫穿于全鏈路壓測的整個生命周期,包含壓測前期、壓測中期、壓測后期這3個階段:
● 壓測前期的主要工作是壓測腳本和壓測數據的準備,以及壓測模型的構建,提效的重點在于如何自動化生成這些內容,減少人力投入;
● 壓測中期指的是壓測執行階段,無人值守壓測是該階段目前的研究重點,涉及自適應壓測策略、壓測風險全自動管控等內容;
● 壓測后期的重點是壓測結果分析,需要進行“根因”分析,做到自動識別系統服務的容量隱患。
上述這些工作在行業內已經有了一定的實踐成果,也是本書的重要組成部分,在后續章節中我們還將進行深入解讀。
讓我們將視野進一步擴展至互聯網技術發展的趨勢上,云原生是目前互聯網行業最火爆的熱點技術之一。那么,在“云原生時代”下,全鏈路壓測又該何去何從呢?
云原生技術的發展確實改變了互聯網服務容量保障的底層邏輯。其中,最典型的例子就是彈性伸縮,即根據業務需求和流量情況自動調整計算資源。如果彈性伸縮的速度足夠快,我們就無須提前對系統進行容量規劃,在流量峰值來臨時直接對系統進行實時擴容就可以了。此外,主流的云服務商都支持按需付費,用戶只需要為系統服務實際消耗的資源支付費用,所以,彈性伸縮還能為我們節省成本。
彈性伸縮還有一個好處是,它基于Serverless(無服務器)理念,將服務資源的管理工作下沉到基礎設施中,這樣,管控粒度更細、更具備實時性,而且業務方不需要關心服務資源的消耗,彈性伸縮能夠將服務容量始終維持在安全水平。
用一句話總結,有了云原生技術的加持,系統的容量保障逐漸成為云基礎設施能力的一部分,通過彈性伸縮結合一定的容量預測能力,我們能夠更快速、更經濟地保障服務容量維持在安全水平。這幾乎顛覆了傳統的容量保障工作,似乎我們不再需要全鏈路壓測來提前評估服務的容量情況了,對于容量風險的容忍度也可以更高了,但真的是這樣嗎?
事實上,目前以彈性伸縮為代表的云原生容量預測技術并不具備太大的應用能力,這和云原生所宣傳的效果還存在很大的距離。究其原因,筆者認為主要有以下幾點:
● 容量預測技術尚未發展到非常成熟的階段,對容量的預估不夠精確,它的效果還無法與全鏈路壓測的效果相提并論,自然也就無法支持大規模的自動化彈性伸縮;
● 彈性伸縮的風險較高,特別是縮容操作有引發線上服務異常的可能性,甚至會直接導致事故的發生;
● 擴縮容速度不夠快,無法滿足快速彈性伸縮的要求,尤其是像網店的“秒殺”活動這樣的流量急速上升的場景,更是彈性伸縮的軟肋。
在這些問題被徹底解決之前,全鏈路壓測依然是容量保障最重要的“武器”之一,它的地位無可取代。同時,全鏈路壓測也可以與彈性伸縮相結合,通過對全局容量進行評估并將評估結果反饋給基礎設施,我們可以保證在較短的時間內提前完成伸縮操作,這同樣節省了成本。
綜上所述,全鏈路壓測技術正處于高速發展的時期,它與如今主流的技術發展方向幾乎都有交集。我們有理由相信,全鏈路壓測將逐漸成為互聯網公司的標配技術,其應用前景很廣闊。