京東大牛嘔心瀝血十三年「史詩級著作」億級流量架構核心技術

2020-09-28 13:00:15

什麼才是網際網路時代的資料庫架構模式? DBA在未來技術發展中的角色和定位如何?在過去的十三年裡,為了滿足京東業務的迅速發展,資料庫架構也在不斷地改進和優化。資料庫型別也經歷了從商業資料庫到開源資料庫(例如MySQL、MongoDB等),再到自主研發的JED彈性資料庫的轉變。一路走來, 資料庫規模不斷擴大,高並行、高可用架構也由單機房部署到多機房部署並實現異地多活,資料庫架構由傳統主從發展為可動態擴充套件的彈性資料庫,資料庫運維工作由手動運維發展為自動化、智慧化運維。

很幸運地在加入京東,更加幸運地遇到了一批優秀的同事, 在接下來的4年半的時間裡,兄弟們並肩作戰,自主研發並持續建設了一系列核心基礎架構系統。我們將這幾年的工作成果及經驗整理總結,寫在筆記中分享出來,希望能給大家帶來收穫!

京東基礎架構建設之路‍

 

內容簡介

本書內容涵蓋容器叢集、資料庫、分散式儲存、服務架構、訊息佇列、異地多活、機器學習等一系列經典技術話題, 深入淺出地向讀者展示了京東基礎架構的搭建、 演進、變革及發展的完整畫像,系統地闡述了京東重要階段的技術進步歷程及里程碑級別的技術突破,堪稱是一部「從入門到精通」的基礎架構經典教材。

第1章容器叢集技術

京東快速發展的同時,應用規模、資料中心以及機器的規模都同步倍增,在使用者愉快買賣的背後,有基礎平臺在保駕護航。面對如此大規模的機器,京東資料中心作業系統( JDOS, Jingdong Datacenter OS )應運而生。

  • JDOS 1.0:「胖容器」時代
  • JDOS2.0:新一代應用容器引擎
  • JDOS3.0:服務融合平臺
  • JDOS4.0:彈性資料計算

網路與外部服務負載均衡

 

高效能負載均衡服務

 

第2章資料庫技術

本章詳細記錄了京東在這方面的嘗試和思考,其核心觀點簡單明瞭,京東未來的技術架構是構建在彈性資料庫基礎之上的,可以快速響應業務的需求,有效利用資源、降低成本、提升資料庫效能。這意味著DBA的角色和知識體系結構必須發生變化,DBA除了具備基礎的資料庫運維技能,還需要對資料領域各個產品和技術有所涉獵,包括資料庫核心技術、資料庫自動化運維技術、故障自愈技術、資料安全與審計、資料同步與傳輸和資料處理等,從而促進京東資料庫架構向更全面、更合理的可持續性方向發展。

  • 發展歷程
  • BinLake紀錄檔訂閱服務
  • 彈性資料庫

架構設計

 

JED整體架構

 

第3章分散式儲存技術

在開發這些儲存系統的過程中,面臨了很多的挑戰。怎麼精確、及時地發現故障,自動進行故障恢復?怎麼快速地進行橫向擴容、資料遷移?怎麼解決系統的讀寫效能?每一個問題被解決的背後都有著開發人員夜以繼日的奮鬥。本章將會詳細介紹京東儲存系統的建設歷程和架構。

  • JFS :京東檔案系統
  • JIMDB :記憶體是新的磁碟
  • FBase :大表儲存
  • Container File System

物件儲存服務

 

Raft

 

第4章中介軟體技術

回顧每次歷程,不僅是對架構設計和技術實現的挑戰,也是對研發人員意志力和專注力的考驗,更是為我們的下 一次技術演進奠定了基礎,正所置既是終點又是起點,我們將在實踐中不斷探索適合京東業務發展的技術架構之路。本章將主要介紹京東中介軟體在不同階段的相關背景,解密其背後的技術選型和設計思路。

  • 服務架構
  • 訊息佇列
  • JMQ複製技術解析
  • CalGraph :分散式服務跟蹤系統

京東實踐

 

處理消費失敗訊息的整體流程

 

自主研發JMQ

 

第5章整體架構升級

京東是家以技術為成長驅動的公司,自有技術平臺在不斷地變化、升級,促進了各類業務的增長。能否規劃出真正解決業務問題的方案,取決於是否進行了合理的架構設計,並放眼未來,迎接變革一這就是架構的意義 。

  • ForoeBot :全鏈路軍演機器人
  • 異地多活

業務系統改造

 

Datacenter-Level Elasticity (資料中心級彈性擴充套件)

 

第6章機器學習技術

機器學習技術的應用,提升了電商各環節的效率。而應用的需求和場景的不斷擴充套件,又反過來促使了技術的進步。通過實踐和迭代優化沉澱出來的計算機視覺、自然語言理解和語音能力,不僅可以服務京東內部各個部門,還可以加工形成人工智慧的通用技術和服務,對外輸出。本章會介紹京東在這方面的實踐。

  • 基於機器學習的商品資料治理
  • 智慧分單
  • 列表頁排序
  • 語音識別與客服導航
  • 商品上新助手

商品類目自動識別

 

R-FCN網路結構

 

大牛評語

 

這份【京東基礎架構建設之路】可以分享給熱愛學習的程式設計師,有需要的朋友可以【見下圖】即可

億級流量網站架構核心技術

 

經歷過「雙11」和「618」的同學都知道,在大促時如何保證系統的高並行、高可用是非常重要的事情。因此在備戰大促時,有些通用原則和經驗可以幫助我們在遇到高並行時,構建更可用的系統,如限流、降級、水平擴充套件和隔離解耦等。通過這些原則可以在流量超預期時,很好地保護系統,避免衝擊導致的系統不可用。

本書總結並梳理了億級流量網站高可用和高並行原則,通過範例詳細介紹瞭如何落地這些原則。本書分為四部分:概述、高可用原則、高並行原則、案例實戰,從負載均衡、限流、降級、隔離、超時與重試、回滾機制、壓測與預案、快取、池化、非同步化、擴容、佇列等多方面詳細地介紹了億級流量網站的架構核心技術,讓讀者看完能快速在實踐中加以運用。不管是軟體開發人員還是運維人員,通過閱讀本書,都能系統地學習實現億級流量網站的關鍵方法與技能,並收穫解決系統問題的思路和方法。

目錄

 

 

 

 

 

第1部分概述

  • 高並行原則
  • 高可用原則
  • 業務設計原則

大流量快取

 

第2部分高可用

  • 負載均衡與反向代理
  • 隔離術
  • 限流詳解
  • 降級特技
  • 超時與重試機制
  • 可浪機制
  • 壓測與預案

動靜隔離

 

第3部分高並行

  • 應用級快取
  • HTTP快取
  • 多級快取
  • 連線池執行緒池詳解
  • 非同步並行實戰
  • 如何擴容
  • 佇列術

熱點資料與更新快取

 

第4部分案例

  • 構建需求響應式億級商品詳情頁
  • 京東商品詳情頁服務閉環實踐
  • 使用OpenResty開發高效能Web應用
  • 應用資料靜態化架構高效能單頁Web應用
  • 使用OpenResty開發Web服務
  • 使用OpenResty開發商品詳情頁

拆分系統

 

 

這份【億級流量網站架構核心技術】一共484頁,有需要的朋友可以【見下圖】獲取到的哦

大牛評價

 

當然,單單有檔案看是遠遠不夠的,還有視訊和相匹配的課件進行學習提升,努力把高可用、高並行、多執行緒這一塊兒給搞明白,相信一定會有不凡的人生!!

多段線與高並行

 

課件

 

 

多執行緒與高並行視訊和課件獲取,【見下圖】獲取!

成長和進步是一個循序漸進的過程,別人走過的路還是會走一遍,別人踩過的坑還是會踩一遍。正如作家格拉德威爾在《異類:不一樣的成功啟示錄》一書中的一萬小時定律:「人們眼中的天才之所以卓越非凡,並非天資超人一等,而是付出了持續不斷的努力。一萬小時的錘鍊是任何人從平凡變成世界級大師的必要條件"。