發表於2024-11-24
從無到有的架構建設之路,逐步解決業務痛點;
一綫架構師的前綫戰報,為618、11.11保駕護航;
全麵解析京東基礎架構技術,承載億級規模存儲和流量的基礎架構實踐;
集諸多熱點技術之大成:容器/數據庫/存儲/中間件/全鏈路軍演/異地多活/電商中的機器學習應用。
《京東基礎平颱建設之路(全彩)》內容涵蓋分布式存儲、數據庫、容器集群、服務框架、消息隊列、異地多活、機器學 習等一係列經典技術話題,深入淺齣地嚮讀者展示瞭京東基礎架構的搭建、演進、變革及發展 的完整畫像,係統地闡述瞭京東重要階段的技術進步曆程及裏程碑級彆的技術突破,堪稱是一 部“從入門到精通”的基礎架構經典教材。作為過去幾年裏推進京東基礎架構變革的技術實踐者,我們樂於把自己的經驗分享給更多的基礎架構從業者或感興趣的人,技術無止境,願我們一路相伴共創奇跡。
京東商城基礎架構部是京東商城的一級部門,專注於核心基礎技術的自主研發與工程實施,涉及的技術有數據中心集群管理、數據庫係統與分布式存儲、電商中間件技術、商城整體架構提升、機器學習與知識工程,為618和雙11大促作強有力的技術支撐,是京東商城的技術基石。
基礎架構是京東業務的技術基石。本書的作者們,作為過去幾年裏推進京東基礎架構變革的技術實踐者,一直堅定執行京東集團“下一個十二年,隻有技術”的發展路綫。藉《京東基礎架構建設之路》這本書,我代錶所有奮戰在一綫的技術研發團隊,將京東在基礎架構技術領域這幾年中的發展和創新分享給關注我們的朋友。感謝所有互聯網技術從業者對我們的關注、幫助與指正。
馬鬆
京東集團高級副總裁、商城研發體係負責人
《京東基礎架構建設之路》這本書,從底層的容器管理集群技術,到服務框架、分布式內存數據庫和分布式文件存儲係統,再到機器學習在京東的多場景應用和商品數據知識圖譜的構建, 都做瞭詳細的介紹,嚮大傢展現瞭整個係統搭建的發展曆程。同時,書中也解密瞭京東技術研發在每年618和雙11超大流量和高並發時刻的應對策略, 相信會對互聯網和電商行業的從業者有著不錯的藉鑒作用。
陳恩紅
中國科學技術大學計算機學院教授、博士生導師、副院長
第1 章
容器集群技術
1.1 概述 3
1.2 JDOS 1.0:“胖容器”時代 3
1.3 JDOS 2.0:新一代應用容器引擎 9
1.4 JDOS 3.0:服務融閤平颱 15
1.5 JDOS 4.0:彈性數據計算 18
1.6 總結 22
第2 章
數據庫技術
2.1 發展曆程 25
2.2 BinLake日誌訂閱服務 27
2.3 彈性數據庫 33
第3 章
分布式存儲技術
3.1 JFS:京東文件係統 47
3.2 JIMDB:內存是新的磁盤 52
3.3 FBase:大錶存儲 60
3.4 Container File System 66
第4 章
中間件技術
4.1 服務框架 75
4.2 消息隊列 88
4.3 JMQ復製技術解析 101
4.4 CallGraph:分布式服務跟蹤係統 112
第5 章
整體架構升級
5.1 ForceBot :全鏈路軍演機器人 125
5.2 異地多活 133
第6 章
機器學習技術
6.1 基於機器學習的商品數據治理 145
6.2 智能分單 155
6.3 列錶頁排序 156
6.4 語音識彆與客服導航 159
6.5 商品上新助手 161
很幸運地在2013年5月加入京東,更加幸運地遇到瞭一批優秀的同事,在接下來的4年半的時間裏,兄弟們並肩作戰,自主研發並持續建設瞭一係列核心基礎架構係統。我們將這幾年的工作成果及經驗整理總結,寫在書中分享齣來,希望能給大傢帶來收獲!
第1章“容器集群技術”,主要介紹數據中心操作係統JDOS,即容器集群管理平颱。經曆過物理機管理分配的各種痛苦後,我們在2014年8月啓動瞭JDOS項目,做瞭一個簡單、勇敢、並不艱難的決定:跨過VM時代,直接基於Docker做容器!而當時大部分公司是通過虛擬化技術提供私有雲服務的。不走尋常路,使得我們團隊在容器集群技術領域走在前麵。從最初很小的規模,到管理幾乎所有服務器;從僅調度應用容器,到統一集成中間件、存儲和數據庫服務;從很像VM的“胖容器”,到應用集群編排;從非常像IaaS,到更接近PaaS……總之,這4年的容器化集群管理技術實踐,讓我們親眼見證、親手推動瞭一係列變革。JDOS團隊這4年隻做這一件事情,一件事持續做,就做得很不平凡。JDOS團隊當前著力推進“阿基米德項目”,即融閤計算資源管理、統一在綫與離綫混部,預期在2018年全麵上綫並創造巨大的收益。
第2章“數據庫技術”,主要介紹瞭彈性數據庫係統的演進。曆經SQL Server、Oracle、物理機部署MySQL,從2015年起我們逐步以“MySQL in Docker”作為數據庫服務的主流方式。京東很可能是第一傢普遍采用容器化MySQL交付的國內互聯網公司。2016年鞦,我們在此基礎上立項實施彈性數據庫項目(簡稱JED),目標是實現關係型數據庫的彈性擴展能力。JED可以稱為一套fully cloud-native NewSQL:運行於JDOS 2.0之上,完全容器化部署;具備scale up/down (通過容器技術本身)+ scale out/in(通過過濾復製協議)兩種彈性伸縮能力,並且支持服務器與數據中心兩個級彆的擴展性;基於MySQL作為其存儲與復製引擎,且兼容MySQL協議便於應用接入。JED站在JDOS肩膀上,吸收瞭京東文件係統JFS、緩存平颱JIMDB等分布式存儲係統的設計經驗。從今年(2017年)618之後,JED就成為京東所有應用默認的數據庫服務。
第3章“分布式存儲技術”,主要介紹京東文件係統JFS及商品圖片係統。JFS為解決海量小文件的分布式存儲問題而生,亦為之量身定製。2013年我初到京東,當時訂單文本、物流報文等BLOB主要存儲在數據庫中,導緻擴展性受限隻能定期刪除;商品圖片服務由一套開源係統搭建,穩定性與性能都不甚理想。於是披星戴月地開發瞭第一個係統——JFS,服務端用Go語言,客戶端用Java語言,並在當年10月上綫,陸續承載瞭OFC訂單履約、WMS庫房報文等業務的海量數據。2014年年初,基於JFS的新圖片係統成功上綫——按照曆史圖片遷移、數據校驗、流量切換三步走,曆時一個半月,順利完成切換。我至今記得切換完成的那天晚上,跟幾位兄弟擊掌相慶的情景,勝利的喜悅總是讓人記憶猶新。之後,JFS增加瞭大文件存儲、元數據管理及S3兼容等功能;圖片係統則在質量優化、透明壓縮等方麵不斷提高。四年間,商品圖片數目從數億一路增長至數百億,而JFS與圖片係統一直穩定如初。
第4章“中間件技術”,主要介紹以服務框架JSF、消息隊列JMQ、緩存平颱JIMDB為代錶的中間件技術體係。對國內任何一傢電商公司來說,中間件係統都是一塊核心的技術基石。質量則是中間件技術的生命綫。我們在2014年年初自主研發服務框架JSF、消息隊列JMQ、緩存平颱JIMDB。每個係統差不多都是開發測試一年,推廣完善一年。自2016年開始,整個中間件體係步入穩定期,使得業務開發團隊能夠完全專注於産品功能實現。中間件係統的自主可控能力,加上全托管式服務,大幅提升瞭産品研發效率。JSF幾乎部署在京東的每個IP上,被每個Java應用程序所import;JMQ是訂單、支付、履約、物流的數據管道,也是每次大促前軍演性能比賽的第一名;JIMDB則從無到有,逐步發展到今天多個IDC數韆颱大內存服務器的部署規模,並存儲京東商城幾乎所有的動態內容——JIMDB是世界級的memory-asthe-new-disk NoSQL服務。
第5章“整體架構升級”主要介紹瞭“ForceBot :全鏈路軍演機器人”和“異地多活”兩部分內容。
◎ ForceBot :全鏈路軍演機器人。每年618、雙11兩次大促的技術備戰,是京東研發團隊的重要工作,而其中一個關鍵環節就是做充分的、全麵的壓力測試來有效地發現性能瓶頸並指導資源規劃。各個服務的獨立壓測既不能模擬真實綫上的流量狀況,也不能全鏈條覆蓋各個環節;往年常用的訂單後軍演僅覆蓋到訂單後係統,而大促流量壓力主要在訂單前。基於數次大促備戰經驗,我們在2016年著手建設ForceBot,即全鏈路在綫軍演壓測係統,並推動各個應用係統與基礎係統改造來支持“forcebot=1”在綫壓測流量標識。ForceBot通過部署在各地CDN節點的機器人程序來模擬海量用戶的實際行為,包括登錄、瀏覽、搜索、點擊、加購物車、下單提交、支付等購物全流程,嚮京東公網入口發起對應韆萬用戶同時在綫的巨大訪問流量。2016年雙11,ForceBot小試牛刀,初見效果;2017年618即全麵實施,成為大促前備戰工作的重要組成部分,也是資源規劃與性能優化的主要手段。ForceBot使得如今的大促備戰智能化、常態化。
◎ 廣域分布架構,俗稱“異地多活”。不同公司、不同技術團隊,對所謂“異地多活”可能有不同理解。“異地多活”這個形象的詞匯,描述的是工程結果的錶象,並非動機或者目標。從我們的思考角度,做異地多活,主要齣發點是什麼?公司持續增長的各項業務使得我們需要不斷去尋找更大的機房,但這在同一地區並不現實。核心目標是什麼?實現數據中心粒度的容量擴展,即通過增加IDC提供資源彈性。相比之前的增加服務器來擴展某個係統,這是分布式架構的更高級形式:多地域多IDC分布式架構;從數據中心角度,實際上是多個不同地域、不同規格的數據中心,形成一個邏輯上更大的數據中心。至於更強的容災能力和用戶就近接入,則是異地多活的附加收益。在切身經曆同城單機房、雙機房、數次擴容機房之後,我們在2017年年初開始做項目規劃,然後進行係統設計、技術改造,並在2017年10月完成第一期實施。異地多活架構升級,我們實施得並不算早,但是采用瞭與同行不同的技術方案:完全在中間件層麵做改造,對應用係統完全透明。當然,彈性數據庫JED也是實現商城廣域分布架構的核心組件。
第6章“機器學習技術”主要介紹京東商城基礎架構中的機器學習與知識工程。我個人非常相信:AI = Machine Learning + Knowledge Engineering。機器學習與知識工程會成為新的基礎設施、所有應用共享的技術服務。自2016年8月,我和團隊一起,積極開展針對商品圖片的視覺計算相關研究、開發與應用;並著力建設針對商品數據的京東知識圖譜,嚮上提供Knowledge as a Service優化原有業務並賦能創新産品。JDOS的大規模計算資源調度能力,特彆是CPU/GPU統一服務,為機器學習、深度學習、數據挖掘和多模態數據清洗提供瞭強有力的底層支撐。此外,我們正在研發新一代圖數據管理與計算係統——“波特”,旨在將知識圖譜塑造為強大的知識計算引擎。很多激動人心的項目,都在積極進行之中。
以上所述這些工作,緊密聯係、互相支撐,共同組成瞭京東商城的技術基礎架構,大規模部署於京東多個數據中心的數萬颱物理服務器上,運行著無數的在綫業務,並産生、存儲、處理著海量的電商數據。在過去四五年的時間裏,在不斷迭代的研究、設計、開發、測試、維護、優化、升級的過程中,無論是我個人還是團隊裏的其他兄弟,都深刻感受到技術本身強大的力量。我們對互聯網技術的熱愛與憧憬,永遠如初。
感謝中國互聯網,特彆是電商業務的高速發展,感謝京東集團過去幾年裏夢幻般的發展速度,給瞭我們這些技術從業者最好的舞颱。感謝我們的傢人、公司領導與同事的大力支持。最想感謝的,是奮鬥在第一綫的所有京東研發人員!
本書撰寫在日常工作之餘,時間倉促,不準確或遺漏之處在所難免,歡迎各位讀者的批評與反饋。裏麵所介紹的各個項目或者係統,仍然在持續建設之中,後續的新成果,我們會通過各種方式與本書的讀者分享和交流。
劉海鋒
京東商城總架構師、基礎架構部負責人
京東基礎架構建設之路(全彩) 下載 mobi pdf epub txt 電子書 格式 2024
京東基礎架構建設之路(全彩) 下載 mobi epub pdf 電子書給力給力,而且書的內容特彆好下次還來
評分實用的京東書,有用,值得讀和值得買。。。
評分很不錯的一本書,不知道是不是因為是京東自己齣版的,所以貴瞭點。但是書中的內容在優化方麵做的不錯
評分挺不錯的,挺不錯的
評分價格買貴瞭,而且同時買的一堆書隻發瞭這一本,公司培訓新人用,聯係客服沒人迴應,早知道618買就好瞭,書的內容都很基礎,目前還沒讀到什麼有用的乾貨,傻子都能看懂,希望讀完不要羅裏吧嗦的一堆廢話纔好。
評分寫得是比較典型的互聯網測試流程和方法,有可以藉鑒的地方
評分剛收到,外麵包裝還好,沒想到裏麵居然,書背麵全是在地上,摩擦過的痕跡,有問題的書也發,京東厲害瞭
評分幫彆人買的,從內容上不知道是否是需要的
評分書的質量很好 書的內容不錯 值得購買
京東基礎架構建設之路(全彩) mobi epub pdf txt 電子書 格式下載 2024