天津JAVA培訓,誰在為你的雙十一買單?十年牧碼記
雙十一就在周日了,這是大家一年一度的盛大狂歡,而背后卻是無數(shù)工程師們的戰(zhàn)場,十年來用一行行代碼搭建起不斷穩(wěn)定、壯大的快樂王國。
讓我們跟隨一線技術人員的經(jīng)歷回顧這風雨十年。
2009:暴增的流量措手不及
第YI年雙十一,要在光棍節(jié)搞個活動。0點時發(fā)現(xiàn)流量暴增,服務器掛了。完全的意料之外,服務器容量、網(wǎng)絡帶寬容量、系統(tǒng)保護都是沒有的,讓大家措手不及。
2010年:吸取經(jīng)驗,技術改進
前線的工程師回憶第二年的情景:“我們有了心理準備,但是平時流量的十幾倍的情況還是出乎意料;谇耙荒甑慕(jīng)驗做了很多工作,分布式系統(tǒng)的防雪崩、核心系統(tǒng)的自治,這些技術改進讓系統(tǒng)好了很多,雖然0點高峰還是出現(xiàn)大量的購mai失敗,但是服務器沒有大面積宕機,流量下降后能夠繼續(xù)良好地服務。”
2011年:亂中出錯,心有余悸
各團隊提早幾個月就開始準備,可是10日晚上23點,有發(fā)現(xiàn)設置的優(yōu)惠價格寫錯了,3折的商品寫成了0.3折。經(jīng)過一次修改以后又回滾,然后重新推送,又出現(xiàn)系統(tǒng)Bug。11日凌晨1點,定位到錯誤代碼是回滾程序的Bug,決定發(fā)布新的系統(tǒng)。早上5點,系統(tǒng)Bug修復。
2012年:一年磨礪,仍舊艱辛
這一年做了大量穩(wěn)定性的相關工作。可是那個0點,流量來得比以往更猛一些。
0點的時候,系統(tǒng)的網(wǎng)卡被打滿了,事先準備的幾乎所有降級方案效果并不明顯。
支付寶的健康檢查系統(tǒng)問題。apache 應用,連接數(shù)只有1K 多的性能瓶頸,在雙十一的流量之下雪崩了。我們快速啟動了應急預案后解決。
2013年:越挫越勇,終見成效
2013年,集合了各個BU的力量我們創(chuàng)造了一套全新的壓測系統(tǒng):全鏈路壓測,參加的技術同學紛紛感慨稱之為“神器”。但是在0點開始之前還是出現(xiàn)了一個小插曲。那一年,有驚無險。0點的成功率滿足期望。而且系統(tǒng)容量和0點的峰值差不多吻合。用戶體驗剛剛好。
2014年:異地多活,大戰(zhàn)告捷
2014年,由于用戶和數(shù)據(jù)的急劇增長,杭州的機房已經(jīng)容納不下我們的系統(tǒng)擴容了。于是我們在上海建立了新的機房,雙11當天,真正啟動并且實現(xiàn)了異地多活的夢想。那一年是順利的一次雙11,系統(tǒng)和用戶體驗都沒有問題。在雙11的總結中我們發(fā)現(xiàn)了一個特別明顯的趨勢,就是無線的占比越來高,雙11當天0點已經(jīng)超過50%。
2015年:生死時刻,幸運降臨
流量大大超過了我們的預期,機器資源發(fā)生爭搶,有10%的物流機器被打死,無法響應,那么落入這批機器的用戶就會購mai失敗。在0點10分的時候,我們做了一個決策,直接剔除了這批死掉的機器,系統(tǒng)的成功率重新恢復到正常值,幸運地扛住了那個0點。
2016年:數(shù)據(jù)緩存,巨大突破
阿里自研緩存技術產(chǎn)品-Tair,數(shù)據(jù)庫因為有了Tair的幫助,才扛起了雙11如此巨大的數(shù)據(jù)訪問量。
X-KV誕生,它是X-DB的KV組件,通過繞過SQL解析的過程,直接訪問內存中的數(shù)據(jù),可以實現(xiàn)非常高的性能以及比SQL接口低數(shù)倍的響應時間。用戶反饋非常好,QPS可以做到數(shù)十萬級別。
2017-2018年:存儲計算分離的技術突破
2017年初,集團高年級技術同學們發(fā)起了一個技術討論:到底要不要做存儲計算分離?為了驗證可行性,我們選擇在開源分布式存儲Ceph的基礎上進行優(yōu)化,阿里自研高性能分布式存儲盤古2.0也在開發(fā)中,數(shù)據(jù)庫內核團隊也通過數(shù)據(jù)庫內核優(yōu)化減少網(wǎng)絡延遲對數(shù)據(jù)庫性能的影響。2017年雙十一,證明了數(shù)據(jù)庫存儲計算分離是完全可行的。
2019年:我們還能怎么優(yōu)化?
Spring boot已經(jīng)成為必須,Spring Data。Spring cloud ,redis緩存 外加大數(shù)據(jù) 微服務 中間件防堵塞 分布式部署。 大大解決了眾多人群的訪問,因為分布式部署只能Spring boot主導。誠筑說高并發(fā)理財支付全站案例讓你也可以擁有一個屬于自己的系統(tǒng)。也許未來你也可以成為雙十一千軍萬馬中的一員,用代碼打這場java的硬仗。
十年雙十一,技術在挫折中不斷前進,無數(shù)工程師們的日夜奮戰(zhàn)為這個節(jié)日保駕護航。在2018雙十一到來之際,誠筑說向所有牧碼同行說聲辛苦,感謝你們用代碼鋪設大家的歡樂旅程。