《逆流而上:阿里巴巴技術成長之路》是阿里巴巴集團榮耀背后的技術血淚史。《逆流而上:阿里巴巴技術成長之路》通過分享業務運行過程中各個領域發生的典型踩坑案例,幫助大家快速提升自我及團隊協作,學習到寶貴的處理經驗及實踐方案,為互聯網生產系統的穩定共同努力。從基礎架構、中間件、數據庫、云計算、大數據等技術領域中不斷積累經驗,顛覆技術瓶頸,不斷創新以適應不斷增長的需求。
《逆流而上:阿里巴巴技術成長之路》主要面向互聯網技術從業人員和在校師生,使讀者能夠通過此書基本了解阿里在各技術領域的能力,學習在如此規模下可能出現的問題以及解決方案的探討和沉淀分享。
適讀人群:本書主要面向互聯網技術從業人員和在校師生,使讀者能夠通過此書基本了解阿里在各技術領域的能力,學習在如此規模下可能出現
的問題以及解決方案的探討和沉淀分享。
互聯網實戰經驗總結
多位阿里技術人經驗匯總
阿里巴巴官方首度分享
幾十位工程師傾力總結技術實戰經驗
互聯網技術井噴時代的良心著作
序言:
2017年7月27日,阿里巴巴集團市值超越4040億美元,成為亞洲第一。回首過去18年的歷程,伴隨著阿里業務從電商快速成長到覆蓋金融、云計算、物流等眾多行業,是阿里技術人在基礎設施、操作系統、中間件、云等各個領域孜孜不倦的探索、創新和實踐。
在每一個技術領域,我們嘗試過業務問題多種不同的解法,無論是新技術還是成熟的解決方案,我們都充分驗證,直至完全掌握。但在我們看來,最寶貴的并不是我們最終采用某種技術或方案的決定,而是大家在探索中遇到的問題以及解決辦法,是對每種技術深入研究過程中積累的經驗,是基于對技術深入理解的基礎之上進行調優和定制的實踐。
隨著互聯網的浪潮日益高漲,我們看到越來越多的技術人開始經歷相似過程,因為單純拿來主義的技術方案已經無法滿足各個行業層出不窮的業務創新,唯有完全掌握技術才能使之貼合業務需求,更好的服務客戶,而掌握技術的關鍵就在于解決它在實際應用中產生的問題。所以,我們把阿里落地各類技術過程中遇到過的問題以及解決方案分享給各位同行,希望對大家開闊思路、少走彎路能夠有所幫助。
本書總結了阿里巴巴集團的技術團隊在基礎架構、中間件、數據庫、業務開發以及運行管理等領域的經典實踐,從采用的方案、遇到的問題、解決方法以及對未來的思考等方面,全面介紹技術實踐的細節。在編寫方面,本書注重實操,包含代碼示例、排查思路及處理流程,以便于讀者快速應用到自己的工作中。
非常感謝阿里各條業務線的技術同學,在百忙之中安排時間總結、整理并撰寫案例,用他們的經驗反哺技術同行,這也是阿里技術人為互聯網技術不斷的超越貢獻的一點微薄之力。
沈乘黃(神庭)
阿里巴巴全球運行指揮中心總監
阿里巴巴集團成長集編委會
由阿里巴巴集團不同業務線及不同技術領域內的人員組成的虛擬組織。技術人員都知道軟件開發過程中的八二原則,理解大多數問題發生在何處,發生的原因,如何解決,變得尤為重要。阿里巴巴集團業務飛速發展,技術人員積累了大量豐富的線上問題排查及解決的案例和經驗。
成長集編委會從中挑選了一些優秀的技術案例,側重于對問題的還原和分析。我們希望,曾經踩過的坑都能具有其意義和使命,而后來者通過學習前人的經驗,防微杜漸,快速成長。
第1 章 基礎架構高可用
1.1 明察秋毫,域名解析排查技巧
1.2 智能定位,網絡端到端靜默丟包點迅速鎖定
1.3 靈活調度,對接運營商網絡流量的容災策略
1.4 抽絲剝繭,深挖云盤掛起背后的真相
1.5 存儲的底線,SSD 數據不一致
第2 章 中間件使用常見隱患與預防
2.1 高并發熱點緩存數據快速退火
2.2 自我保護,讓系統堅如磐石
2.3 機房容災,VIPServer 軟負載流量調度實例
2.4 山洪暴發,高流量觸發Tomcat bug 引起集群崩潰
第3 章 數據庫常見問題
3.1 性能殺手,SQL 執行計劃
3.2 波譎云詭,數據庫延遲
3.3 風暴來襲,AliSQL 連接池調優
3.4 防患于未然,ORM 規約變更案例
3.5 云數據庫,SQL 優化經典案例
第4 章 業務研發經典案例
4.1 冪等控制,分布式鎖超時情況和業務重試的并發
4.2 另類解法,分布式一致性
4.3 大道至簡,從故障模型的邊界狀態切換到原始狀態
4.4 疑案追蹤,JSON 序列化不一致
4.5 從現象到本質,不保證順序的Class.getMethods
JVM 實現
4.6 破解超時迷局,淺析啟動初期load 飆高問題
4.7 洞悉千絲萬縷,淺談JIT 編譯優化的誤區
第5 章 運行管理域穩定性建設
5.1 洞若觀火,讓故障無處遁形
5.2 體系化思考,高效解決運營商問題
5.3 以戰養兵,以故障演練提升系統穩定性