我讀《京東技術解密》 - Dimmacro
京東技術解密這本書從2014年12月3號晚23點看到了2015年1月26號晚22點,小兩月了。記得這本書還在京東預售的時候,很期望能早點買到, 因為個人一直對互聯網行業高并發高性能的系統感興趣,盡管自己在日常工作中用到的不多,也許是受了互聯網同事們的蠱惑吧,覺得這才是技術的魅力所在。 anaway,看完后,覺得里當初自己的對該書的期望還是有點距離,純技術的部分其實涉及的不算多,更多的是將京東體系的系統如何創造和升級,工程師們如 何妙手回春。就我個人看來,每一個成熟互聯網的背后,其系統都有一批拋頭顱,灑熱血的工程師甘當炮灰,用自己的青春年華推動IT建設,每個故事都是一段傳 奇,雖然主角不同,然后劇情雷同,也是你我這樣的人可以領悟和感同身受的吧。
以下列出讀完此書后我個人的一些記錄和想法,整理思緒,構建體系:
- 電 商平臺、物流平臺、技術平臺、互聯網金融是京東未來十年4大戰略業務,個人感覺這就是IT的本質的四個方向:向上延伸人的感知和體驗,向下替代可重復性勞 動,向左不斷提升IT自身的能力,向右實現經濟價值,從這個角度來說,電商、物流、技術無可厚非,對互聯網金融,也許概念可以更大一點,既然為實現經濟價 值,說白了就是出來賣嘛,那么一切別人需要的都可以賣,物流能力可賣、技術能力可賣、平臺上的一切資源皆可賣。當然前提是要有商德。
- 京東IT管理123分為一個愿景(做中國最有影響力的技術團隊),2個重點(文化(信任、分享、成長)、結構(人才結構、組織結構)),3個體系(產品體系、架構體系、管理體系(項目管理、領導力系統))。包括了目標,戰略,戰術,保障。
- 京 東數據中心網絡包含3個核心服務:CDN、負載均衡(LVS、HaProxy、Nginx)、基礎網絡。存儲、技術、網絡是云計算IAAS層的核心內容, 也是IT世界的最底層要素,CDN(內容分發網絡)是大型網站畢竟之路,畢竟對于非CDN的集中式部署而言,即使能通過負載均衡分攤到后端多臺服務器,單 一方面負載均衡本身會成為瓶頸,一方面網絡壓力不是單線路網絡可承載的,通過CDN,分而治之,就近訪問,減少向主服務器訪問的壓力,只是CDN的分發和 同步需要后臺處理,不過現在這種技術也很成熟了。負載均衡為分攤壓力,對于窮怕了的互聯網公司而言,一般都是用軟負載,無論是二層的LVS,4層的 HaProxy,還是4/7層的Nginx,但是在不差錢的金融、銀行,很多還是直接用硬件負載F5,畢竟硬件省事,而且是商業軟件,有成熟的服務支持。
- 對于高并發連接,通用的做法是將容器線程池獨立出來處理連接,而業務處理交給后端業務線程池處理,業務線程池可以根據業務優先級設定一些預留和限制模型,即共享線程池。
- 京東交易系統架構圖:
使用Nginx做負載,Redis將數據緩存提升查詢效率。
- 高穩定交易系統的10大原則:
- 性能提升的幾點:盡量在內存中操作、盡量減少外部服務依賴、非同步化操作異步化、開關可控降級。
- 對于涉及多業務系統的復雜流程,可以梳理出主流程和狀態機,然后由主流程系統負責整體流程的調度和數據的推送。
- 京東架構升級的四個步驟:SOA服務拆分、大數據分庫分表、大字段分布式存儲、緩存。
- 消息中間件:(消息轉發采用基于日志復制的M-S、建立多個virtualTopic,合并多次寫入、一個Topic多個調閱者單獨記錄每一個調閱者的消費位置,實現公用一份索引和消息體)
SOA治理的七大招術:
- 抽象共性業務構建用于復用和系統解耦
- 服務拆分:訂單號服務
- 應用層平滑遷移:按用戶切流量、按百分比切;監控系統+配置管理切換系統實現新老系統快速切換
- 數據庫遷移的四個階段:同步寫老,異步寫新;同步寫新老;異步寫老;同步寫新;同步寫新;
- 服務框架Dubbo,通過監控系統對進行監控和動態流量保護。
- 事件驅動:一是事件觸發緩存更新;事件觸發調用服務;
- 流程編排:對業務事件進行解析,根據業務規則對流程進行編排,確定調用因果關系,可并發調用執行服務
京東實時計算架構如下圖:
本文鏈接: 我讀《京東技術解密》,轉載請注明。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!