1. 程式人生 > >《京東技術揭祕》讀書筆記

《京東技術揭祕》讀書筆記

這幾天看完了《京東技術揭祕》(下文簡稱《京東》),有些收穫,通過部落格記錄一下。這本書不是專門講解技術的書,而是一本記錄京東技術演進歷程的書。內容上類似之前看過《淘寶技術這十年》(下文簡稱《淘寶》),一本講解淘寶技術演進歷程的書。《淘寶》成書於2013年(出版日期,之前書中的內容已經以博文的形式釋出於網上),《京東》成書於2014年。個人覺得《京東》應該是針對《淘寶》出版的,阿里和京東的競爭非常激烈,在技術圈子也不例外,都要宣傳自己,塑造形象。阿里的同學已經出版了不少技術圖書,有些質量很好,希望京東繼續跟進,給廣大技術人員貢獻更多的優秀書籍。 《京東》一書的缺點(純屬個人觀點):是由若干篇不同作者寫的文章組合而成,每篇文章涉及一個主題,但由於是不同人寫成,整理的系統性、條理性欠缺。每篇文章的寫作風格,內容側重不統一,技術描述不夠深入,缺少背景介紹,文章之間缺少前後傳承。《淘寶》在這方面要好,畢竟由一個作者寫成。《京東》內容覆蓋面比較全,除了交易系統(就是我們普通使用者直接使用的系統,可以瀏覽商品,購物下單等),還涉及了訂單處理,倉儲物流,開放平臺,大資料,雲端計算等其他內容。《淘寶》主要介紹了交易系統的演進。 京東交易系統的演進歷程,大致經歷了三代變化,淘寶系統也是經歷了三代演進。 第一代系統 第一代系統於2004年年初上線。這套系統是從外部購買,基於ASP技術。這套系統的具體架構書中並沒有詳細介紹,不過應該是IIS + ASP + sql server的模式。當時只有4,5個程式設計師負責維護。 我們看下淘寶的第一代系統。第一代淘寶於2003年5月10日正式上線,也是從外部購買(PHPAuction)。網站架構採用LAMP(linux + apache + mysql + php),mysql採用了主備模式。開始也只有3,4個程式設計師進行維護。2003年底,用oracle替換了mysql。 京東第一代系統一直執行到2008年10月,將近5年的時間。淘寶第一代架構執行到了2004年底,一年半左右時間。通過技術反推,可以看出這段時間淘寶發展迅速,京東發展比較緩慢。淘寶是C2C模式,主打小商品;京東是B2C模式,主打3C產品。這個階段應該是電商開始逐漸發展階段,淘寶的模式可能更適合發展初期的電商——價格低廉,種類繁多的小商品。 第二代系統
京東第二代系統於2008年10月正式上線。這套系統由京東自主研發,2008年7月開始,歷時3個月,封閉開發,程式設計師大概8個左右,由李大學(現京東副總裁)領導開發。系統採用.net技術,具體架構書中沒有提及。 再看淘寶的第二代系統。二代架構研發始於2004年年中,聘請Sun的工程師做架構,全面採用Java技術。採用了MVC,EJB等技術,重要的是採用IOE系統。這套系統於2004年底,全面上線。在後續的幾年中,淘寶二代系統不斷完善,引入新的技術提升效能,如分庫分表,快取,CDN,TFS(淘寶檔案系統),Tair(分散式快取)等,這些都是高新能網站的大殺器。 第三代系統 京東第三代系統開始於2011年,在202年開始陸續上線。這一代架構開始採用java技術,基於SOA思想設計,由王曉鍾領導開發。系統中大量採用了快取,JFS等系統。服務間的呼叫採用SAF(
service architecture framework基於dubbo)開發,書中對具體技術介紹不多。 淘寶第三代架構開始於2008年,主要變化也是基於SOA思想設計,服務之間通過 HSF(hight speed service framework,阿里另外有dubbo,功能類似)框架實現,採用非同步處理模式(tb notify)等。構建開放平臺等。三代系統的核心是SOA,是業務治理,是設計上的提升。 從這三代平臺看,京東一直落後於淘寶,不過到現在為止,大家應該趨同,技術能力相當。應該是B2C模式相對C2C模式已經有了很大的優勢,業務的發展必然導致技術的提升。現在阿里和京東都在發力大資料和雲端計算,希望他們能夠再次改變人們的生活方式,當然是變得更好!