我讀《京東技術解密》


  

自從今年1月26號開博,打算今年好好整理一下自己這些年的技術積累,整理一些讀書筆記。不為別的,只為能回看過去,不忘初心。從開博到現在也快一周了吧,說好的一周至少寫兩篇文章的規定呢?嗐,萬事開頭難,且行且珍惜吧。

  京東技術解密這本書從2014年12月3號晚23點看到了2015年1月26號晚22點,小兩月了。記得這本書還在京東預售的時候,很期望能早點買到,因為個人一直對互聯網行業高並發高性能的系統感興趣,盡管自己在日常工作中用到的不多,也許是受了互聯網同事們的蠱惑吧,覺得這才是技術的魅力所在。anaway,看完后,覺得里當初自己的對該書的期望還是有點距離,純技術的部分其實涉及的不算多,更多的是將京東體系的系統如何創造和升級,工程師們如何妙手回春。就我個人看來,每一個成熟互聯網的背后,其系統都有一批拋頭顱,灑熱血的工程師甘當炮灰,用自己的青春年華推動IT建設,每個故事都是一段傳奇,雖然主角不同,然后劇情雷同,也是你我這樣的人可以領悟和感同身受的吧。

  以下列出讀完此書后我個人的一些記錄和想法,整理思緒,構建體系:

  1. 電商平台、物流平台、技術平台、互聯網金融是京東未來十年4大戰略業務,個人感覺這就是IT的本質的四個方向:向上延伸人的感知和體驗,向下替代可重復性勞動,向左不斷提升IT自身的能力,向右實現經濟價值,從這個角度來說,電商、物流、技術無可厚非,對互聯網金融,也許概念可以更大一點,既然為實現經濟價值,說白了就是出來賣嘛,那么一切別人需要的都可以賣,物流能力可賣、技術能力可賣、平台上的一切資源皆可賣。當然前提是要有商德。
  2. 京東IT管理123分為一個願景(做中國最有影響力的技術團隊),2個重點(文化(信任、分享、成長)、結構(人才結構、組織結構)),3個體系(產品體系、架構體系、管理體系(項目管理、領導力系統))。包括了目標,戰略,戰術,保障。
  3. 京東數據中心網絡包含3個核心服務:CDN、負載均衡(LVS、HaProxy、Nginx)、基礎網絡。存儲、技術、網絡是雲計算IAAS層的核心內容,也是IT世界的最底層要素,CDN(內容分發網絡)是大型網站畢竟之路,畢竟對於非CDN的集中式部署而言,即使能通過負載均衡分攤到后端多台服務器,單一方面負載均衡本身會成為瓶頸,一方面網絡壓力不是單線路網絡可承載的,通過CDN,分而治之,就近訪問,減少向主服務器訪問的壓力,只是CDN的分發和同步需要后台處理,不過現在這種技術也很成熟了。負載均衡為分攤壓力,對於窮怕了的互聯網公司而言,一般都是用軟負載,無論是二層的LVS,4層的HaProxy,還是4/7層的Nginx,但是在不差錢的金融、銀行,很多還是直接用硬件負載F5,畢竟硬件省事,而且是商業軟件,有成熟的服務支持。
  4. 對於高並發連接,通用的做法是將容器線程池獨立出來處理連接,而業務處理交給后端業務線程池處理,業務線程池可以根據業務優先級設定一些預留和限制模型,即共享線程池。
  5. 京東交易系統架構圖:

使用Nginx做負載,Redis將數據緩存提升查詢效率。

  1. 高穩定交易系統的10大原則:

  1. 性能提升的幾點:盡量在內存中操作、盡量減少外部服務依賴、非同步化操作異步化、開關可控降級。
  2. 對於涉及多業務系統的復雜流程,可以梳理出主流程和狀態機,然后由主流程系統負責整體流程的調度和數據的推送。
  3. 京東架構升級的四個步驟:SOA服務拆分、大數據分庫分表、大字段分布式存儲、緩存。
  4. 消息中間件:(消息轉發采用基於日志復制的M-S、建立多個virtualTopic,合並多次寫入、一個Topic多個調閱者單獨記錄每一個調閱者的消費位置,實現公用一份索引和消息體)
SOA治理的七大招術:
  1. 抽象共性業務構建用於復用和系統解耦
  2. 服務拆分:訂單號服務
  3. 應用層平滑遷移:按用戶切流量、按百分比切;監控系統+配置管理切換系統實現新老系統快速切換
  4. 數據庫遷移的四個階段:同步寫老,異步寫新;同步寫新老;異步寫老;同步寫新;同步寫新;
  5. 服務框架Dubbo,通過監控系統對進行監控和動態流量保護。
  6. 事件驅動:一是事件觸發緩存更新;事件觸發調用服務;
  7. 流程編排:對業務事件進行解析,根據業務規則對流程進行編排,確定調用因果關系,可並發調用執行服務

京東實時計算架構如下圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM