[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 億級流量網站架構核心技術 跟開濤學搭建高可用高並發繫統(博文視
    該商品所屬分類:圖書 -> 電子工業出版社
    【市場價】
    1160-1680
    【優惠價】
    725-1050
    【作者】 張開濤 
    【所屬類別】 電子工業出版社 
    【出版社】電子工業出版社 
    【ISBN】9787121309540
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121309540
    版次:1

    商品編碼:12153914
    品牌:電子工業出版社
    包裝:平裝

    開本:16開
    出版時間:2017-04-01
    用紙:膠版紙

    頁數:477
    作者:張開濤


        
        
    "

    產品特色

    編輯推薦

    提前看到這部著作的人這樣評價——
    √經歷618、雙11多次大考,是保證大規模電商繫統高流量、高頻次的葵花寶典。
    √集中火力講述作者構建京東大流量繫統用到的高可用和高並發原則。
    √濃縮作者多年對網站繫統升級迭代的創新、技術、實踐和積累。
    √高可用和高並發總體原則、關鍵技術、實戰經驗的總結,以及曾經踩過的坑。
    √教你如何構建高並發、大流量繫統方能經受起億級線上用戶流量的真實考驗。
    √從前端到DB底層設計,本書無不精細闡述。
    √站在一個新高度思考網站後臺技術,從應用級緩存到前端緩存,從SOA到閉環。
    √京東多年架構升級及大促備戰的高質量總結。
    √將繫統設計的深奧套路講得如此清晰,難能可貴。
    √完整呈現如何設計響應億級請求的京東商品詳情頁繫統。
    √本書作者是將技術應用於業務、理論應用於實踐的大師。
    √地表至強,天大福利。
    √流量並發暴增與繫統架構變革的十字路口,需要這樣一本書。
    √一個億級流量網站和一個中小型網站的技術架構難度截然不同。
    √這種指導手冊式的技術書籍,值得精讀和細品。
    √一本互聯網高並發架構設計的百科全書。
    √從各角度剖析繫統設計的優化要點和注意事項。
    √循序漸進地將一繫列復雜問題闡述得清晰、易讀。
    √實戰出真理,選擇這本書,靠譜。

    內容簡介

    《億級流量網站架構核心技術》一書總結並梳理了億級流量網站高可用和高並發原則,通過實例詳細介紹了如何落地這些原則。本書分為四部分:概述、高可用原則、高並發原則、案例實戰。從負載均衡、限流、降級、隔離、超時與重試、回滾機制、壓測與預案、緩存、池化、異步化、擴容、隊列等多方面詳細介紹了億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐項目中。
    不管是軟件開發人員,還是運維人員,通過閱讀《億級流量網站架構核心技術》都能繫統地學習實現億級流量網站的架構核心技術,並收獲解決繫統問題的思路和方法。

    作者簡介

    張開濤,現就職於京東,“開濤的博客”公眾號作者。寫過《跟我學Spring》《跟我學Spring MVC》《跟我學Shiro》《跟我學Nginx+Lua開發》等繫列教程,博客現有1000多萬訪問量。

    精彩書評

    本書是保證大規模電商繫統高流量、高頻次的葵花寶典,是互聯網一線技術研發人員的實戰手冊。該書是經過“618”、“雙十1”多次大考,在實踐中反復論證應運而生的。就如山野的綠草歷經大自然千錘百煉、風雨彩虹、破土而出,在自然中尋得的法則。但一切有為的成果都是辛勤努力的結果,我認識開濤後重要的印像之一就是他加班加點,挑燈夜戰,幾乎每天下班都是星辰相伴;印像之二不像傳統中的IT男,而是一個熱情、開朗、有愛心的陽光男;印像之三他本身就如他的大作,是一個博學多纔的“字典”,凡是技術性的問題大家都找他請教,有問必答。向致力於京東電商繫統建設的研發人員強烈推薦。
    京東集團副總裁、京東保險業務負責人 徐春俊

    經過這麼多年的沉澱,京東早已擺脫“不行就加機器”的野蠻擴張階段,今天的京東技術人有著豐富的大流量應對經驗,每到大促都期望更猛烈的流量來檢驗他們的繫統。作者集中火力講述了他在京東構建大流量繫統用到的高可用和高並發原則,並通過實際案例讓讀者能落地。
    京東集團副總裁、京東商城研發體繫負責人 馬松

    近十年來,京東的業務規模在不停驅動著繫統的升級迭代和技術創新,到今天,京東已沉澱了不少技術創新,可以說完成了從使用技術到創新技術的轉變。與此同時,京東的技術人在技術圈內的影響力也在不斷擴大,開濤同學就是京東技術的一個好代表。他在網站繫統升級迭代的過程中,不斷創新和使用新技術,並將多年的實踐和積累都濃縮到了本書中。該書可謂是當今電商互聯網圈內的良心力作,理論和實踐的完美結合,滿滿都是干貨,也是京東技術人對互聯網技術圈的一份貢獻,強烈推薦大家閱讀。
    京東集團副總裁、京東X事業部負責人 肖軍
    京東次見到開濤是在部門的每周例會上,當時就對開濤留下了深刻印像,說話清晰簡潔,分析嚴謹透徹,人也長得陽光帥氣。後來纔知道他在Java圈中知名度很高,“開濤的博客”瀏覽量過千萬,是個不折不扣的技術大牛。本書是開濤5年多在高可用和高並發方面總體原則、關鍵技術和實戰經驗的總結,還包括了曾經經歷的坑,可謂是理論與實踐相結合的結晶。在經過了“京東618”、“雙十1”的億級大考後,保證了此書足以作為有志於構建億級流量網站的技術人員們必備的案頭參考書。
    京東保險高級研發總監 楊建

    如何構建高並發、大流量的繫統,不是架構師閉門造車想出來的,是線上實際的用戶流量檢驗的。本書通過大量的實踐案例,告訴讀者如何架構高並發,大流量的網站繫統,不光有理論探討,亦有大量的京東實際案例,干貨多,強烈推薦研發人員通讀此書。
    京東商城高級研發總監 王曉鐘

    本書內容翔實,將專業知識講解的通俗易懂,從前端HTML到DB底層的設計無不精細闡述。更難能可貴的是用真實成功案例傳授如何在實戰中進行大流量網站架構,字裡行間都傳遞著作者的經驗積累,可謂字字珠磯,是初學者的手冊,更是技術大牛的切磋寶典。
    京東商城研發總監 尚鑫

    本書站在一個新的高度考慮網站後臺技術,從應用級緩存到前端緩存、從SOA到閉環等無處不體現作者的深厚功底。作為京東大咖的作者結合了在京東的京東實踐,運用新的網站開發理論,提出了一套非常全面的大流量、大並發網站後臺的解決方案。實踐證明這一套方案特別管用,因為他結合了京東的開發技術,簡化開發過程,比較全面的考慮到了可能面臨的問題。此書特別適合中大型網站的架構師、開發工程師、運維等同學,建議人手一本。
    京東商城研發總監 楊思勇

    首先,這是一個非常靠譜的技術人寫出的非常靠譜的作品,本書作者是京東的技術牛人,長期戰鬥在研發的京東線,充滿京東技術人的理想與激情。同時,本書也是京東這麼多年高速發展經歷的架構升級及大促備戰經驗的總結,將構建高可用、高並發繫統的各種設計原則、技術方案、京東實踐進行了全面剖析,知識量非常大,值得所有大中型網站架構師、開發人員花時間學習。
    京東商城研發總監 王彪

    面對大流量高並發,怎樣讓自己開發的繫統運行得更高效、展現出更好的性能體驗?繫統底層怎麼構建、資源怎麼調度、流量怎麼管控……其實這些在繫統設計上都是有套路的,能將這種套路講得特別清晰、總結得特別到位的書真的為數不多,此書非常值得大家一讀。
    京東商城研發總監 付彩寶

    本書著重介紹了高並發、高可用服務基本設計原則和技術,並輔以詳實的案例說明,對從業人員有很強的指導意義。作者開濤具備多年高並發高可用服務經驗,結合自己的工作實踐,將響應億級請求的商品詳情頁繫統的設計過程完整展現給讀者,干貨滿滿,在同類書籍中極為少見,具有很強的借鋻意義,強烈推薦。
    京東商城研發總監 王春明

    本書深入淺出地介紹了高並發繫統的建設之路,是幾年實戰經驗的沉澱,並且都經過了京東大促下大流量的考驗。不管是初學者還是資深的架構師都能從中獲取到寶貴經驗。開濤是技術應用於業務、理論應用於實踐的大師。開濤出品,必屬精品。
    京東商城基礎平臺部首席架構師 何小鋒

    大家期待已久的《億級流量網站架構核心技術》終於出版了,這對於中國互聯網界的攻城獅們來說真是一個天大的福利。該書可謂理論和實踐結合的京東典範,著眼於高並發和高可用,提出了一繫列作者在實戰中總結提煉出來的設計秘籍,並通過案例對每一條秘籍進行詳細破解,書中提及的每一個案例均為作者在工作中的真實案例,都經歷過大促億級流量的考驗,全是滿滿的干貨。該書作者開濤同學熱愛技術,樂於分享,我拜讀了他所有的博客和公眾號文章,受益匪淺。這是作者又一次良心出品,值得研讀,強烈推薦。
    京東商城運營研發部首席架構師 者文明

    開濤負責的京東網站等核心繫統,是京東京東個遷移到京東彈性雲容器平臺運行的繫統。在上線初期遇到架構、性能等問題,開濤以其扎實的大流量網站架構技術功底,順利保障京東個核心繫統上容器化平臺。這本《億級流量網站架構核心技術》,彙集了開濤多年在京東京東核心的網站繫統架構的演進和實踐。特別京東業務快速增長,對網站流量並發帶來的挑戰,技術選擇,架構變革,京東實踐意義。這本書結合實際的案例,生動展現技術發展線路。如果你正在應對流量並發的增加或者繫統架構需要變革的十字路口,這本書是你書桌上不可缺少的理論和實踐指導。
    京東商城容器引擎平臺負責人 鮑永成

    隨著用戶規模的增長,網站架構問題的難度也在成倍增加。構建一個京東規模的億級流量網站和構建一個中小型網站的技術架構難度截然不同。
    在具體的架構實踐中,所需要考慮的問題也遠比中小型網站多得多。開濤根據京東網站架構工作期間的實戰經驗寫成此書。書中既有大型網站架構的通用原則,也有具體難點的解決方案和實踐經驗。
    京東重要的是,書中所述的很多通用原則和技術方案都在京東網站線上得到了有效使用和驗證。對於想深入了解如何構建一個大型網站的讀者,這是一本難得的好書。
    京東雲平臺事業部架構師 陳鋒

    讀完了開濤的《億級流量網站架構核心技術》原稿,我激動的心情難以平復,這正是我一直希望得到的那種指導手冊式的技術書籍。書中沒有浮誇的辭藻,而是實實在在的展示了開濤多年來在實戰中的驗證過的理論與經驗。
    如果你是一位也面臨著高訪問高並發場景的研發人員,那麼相信我,這本書中所描述的思路和方法,京東值得你去學習和借鋻。
    京東商城 API網關負責人 趙雲霄

    本書詳細介紹了大流量,高並發繫統的設計原則和具體實現方法。從限流降級到多級緩存,異步化,服務閉環,對京東近幾年在高並發領域大行其道的Nginx Lua架構的講解更是細致入微。感謝開濤為大家帶來這本互聯網高並發架構設計的百科全書。
    京東商城交易平臺架構師 李尊敬

    作者將多年的實踐經驗和研究心得呈現在這本書中,而且和實踐很好的結合起來,具有很強的實踐指導意義。從各個角度講述了繫統設計的注意點與優化,一層一層從前到後,範圍廣而詳細。干活十足,強烈推薦。
    京東商城交易平臺架構師 趙輝

    開濤理論與實踐經驗結合,循序漸進地將構建億級流量網站的高並發、高可用的一繫列復雜問題闡述得很清楚。閱讀此書受益匪淺,希望每一位開發人員都能閱讀到這本書。
    京東商城交易平臺架構師 尤鳳凱

    作者在京東商品詳情頁架構升級實戰等多個項目中總結的成果,已經成功經歷了多次618、雙十1大促流量的考驗,實戰出真理,選擇這本書,靠譜。作為技術進階優選的書籍,滿滿的干貨,備好水,慢慢啃。
    京東商城網站平臺架構師 劉峻樺


    目錄

    第1部分 概述 / 1
    1 交易型繫統設計的一些原則 / 2
    1.1 高並發原則 / 3
    1.1.1 無狀態 / 3
    1.1.2 拆分 / 3
    1.1.3 服務化 / 4
    1.1.4 消息隊列 / 4
    1.1.5 數據異構 / 6
    1.1.6 緩存銀彈 / 7
    1.1.7 並發化 / 9
    1.2 高可用原則 / 10
    1.2.1 降級 / 10
    1.2.2 限流 / 11
    1.2.3 切流量 / 12
    1.2.4 可回滾 / 12
    1.3 業務設計原則 / 12
    1.3.1 防重設計 / 13
    1.3.2 冪等設計 / 13
    1.3.3 流程可定義 / 13
    1.3.4 狀態與狀態機 / 13
    1.3.5 後臺繫統操作可反饋 / 14
    1.3.6 後臺繫統審批化 / 14
    1.3.7 文檔和注釋 / 14
    1.3.8 備份 / 14
    1.4 總結 / 14
    第2部分 高可用 / 17
    2 負載均衡與反向代理 / 18
    2.1 upstream配置 / 20
    2.2 負載均衡算法 / 21
    2.3 失敗重試 / 23
    2.4 健康檢查 / 24
    2.4.1 TCP心跳檢查 / 24
    2.4.2 HTTP心跳檢查 / 25
    2.5 其他配置 / 25
    2.5.1 域名上遊服務器 / 25
    2.5.2 備份上遊服務器 / 26
    2.5.3 不可用上遊服務器 / 26
    2.6 長連接 / 26
    2.7 HTTP反向代理示例 / 29
    2.8 HTTP動態負載均衡 / 30
    2.8.1 Consul+Consul-template / 31
    2.8.2 Consul+OpenResty / 35
    2.9 Nginx四層負載均衡 / 39
    2.9.1 靜態負載均衡 / 39
    2.9.2 動態負載均衡 / 41
    參考資料 / 42
    3 隔離術 / 43
    3.1 線程隔離 / 43
    3.2 進程隔離 / 45
    3.3 集群隔離 / 45
    3.4 機房隔離 / 46
    3.5 讀寫隔離 / 47
    3.6 動靜隔離 / 48
    3.7 爬蟲隔離 / 49
    3.8 熱點隔離 / 50
    3.9 資源隔離 / 50
    3.10 使用Hystrix實現隔離 / 51
    3.10.1 Hystrix簡介 / 51
    3.10.2 隔離示例 / 52
    3.11 基於Servlet 3實現請求隔離 / 56
    3.11.1 請求解析和業務處理線程池分離 / 57
    3.11.2 業務線程池隔離 / 58
    3.11.3 業務線程池監控/運維/降級 / 58
    3.11.4 如何使用Servlet 3異步化 / 59
    3.11.5 一些Servlet 3異步化壓測數據 / 64
    4 限流詳解 / 66
    4.1 限流算法 / 67
    4.1.1 令牌桶算法 / 67
    4.1.2 漏桶算法 / 68
    4.2 應用級限流 / 69
    4.2.1 限流總並發/連接/請求數 / 69
    4.2.2 限流總資源數 / 70
    4.2.3 限流某個接口的總並發/請求數 / 70
    4.2.4 限流某個接口的時間窗請求數 / 70
    4.2.5 平滑限流某個接口的請求數 / 71
    4.3 分布式限流 / 75
    4.3.1 Redis+Lua實現 / 76
    4.3.2 Nginx+Lua實現 / 77
    4.4 接入層限流 / 78
    4.4.1 ngx_http_limit_conn_module / 78
    4.4.2 ngx_http_limit_req_module / 80
    4.4.3 lua-resty-limit-traffic / 88
    4.5 節流 / 90
    4.5.1 throttleFirst/throttleLast / 90
    4.5.2 throttleWithTimeout / 91
    參考資料 / 92
    5 降級特技 / 93
    5.1 降級預案 / 93
    5.2 自動開關降級 / 95
    5.2.1 超時降級 / 95
    5.2.2 統計失敗次數降級 / 95
    5.2.3 故障降級 / 95
    5.2.4 限流降級 / 95
    5.3 人工開關降級 / 96
    5.4 讀服務降級 / 96
    5.5 寫服務降級 / 97
    5.6 多級降級 / 98
    5.7 配置中心 / 100
    5.7.1 應用層API封裝 / 100
    5.7.2 配置文件實現開關配置 / 101
    5.7.3 配置中心實現開關配置 / 102
    5.8 使用Hystrix實現降級 / 106
    5.9 使用Hystrix實現熔斷 / 108
    5.9.1 熔斷機制實現 / 108
    5.9.2 配置示例 / 112
    5.9.3 采樣統計 / 113
    6 超時與重試機制 / 117
    6.1 簡介 / 117
    6.2 代理層超時與重試 / 119
    6.2.1 Nginx / 119
    6.2.2 Twemproxy / 126
    6.3 Web容器超時 / 127
    6.4 中間件客戶端超時與重試 / 127
    6.5 數據庫客戶端超時 / 131
    6.6 NoSQL客戶端超時 / 134
    6.7 業務超時 / 135
    6.8 前端Ajax超時 / 135
    6.9 總結 / 136
    6.10 參考資料 / 137
    7 回滾機制 / 139
    7.1 事務回滾 / 139
    7.2 代碼庫回滾 / 140
    7.3 部署版本回滾 / 141
    7.4 數據版本回滾 / 142
    7.5 靜態資源版本回滾 / 143
    8 壓測與預案 / 145
    8.1 繫統壓測 / 145
    8.1.1 線下壓測 / 146
    8.1.2 線上壓測 / 146
    8.2 繫統優化和容災 / 147
    8.3 應急預案 / 148
    第3部分 高並發 / 153
    9 應用級緩存 / 154
    9.1 緩存簡介 / 154
    9.2 緩存命中率 / 155
    9.3 緩存回收策略 / 155
    9.3.1 基於空間 / 155
    9.3.2 基於容量 / 155
    9.3.3 基於時間 / 155
    9.3.4 基於Java對像引用 / 156
    9.3.5 回收算法 / 156
    9.4 Java緩存類型 / 156
    9.4.1 堆緩存 / 158
    9.4.2 堆外緩存 / 162
    9.4.3 磁盤緩存 / 162
    9.4.4 分布式緩存 / 164
    9.4.5 多級緩存 / 166
    9.5 應用級緩存示例 / 167
    9.5.1 多級緩存API封裝 / 167
    9.5.2 NULL Cache / 170
    9.5.3 強制獲取最新數據 / 170
    9.5.4 失敗統計 / 171
    9.5.5 延遲報警 / 171
    9.6 緩存使用模式實踐 / 172
    9.6.1 Cache-Aside / 173
    9.6.2 Cache-As-SoR / 174
    9.6.3 Read-Through / 174
    9.6.4 Write-Through / 176
    9.6.5 Write-Behind / 177
    9.6.6 Copy Pattern / 181
    9.7 性能測試 / 181
    9.8 參考資料 / 182
    10 HTTP緩存 / 183
    10.1 簡介 / 183
    10.2 HTTP緩存 / 184
    10.2.1 Last-Modified / 184
    10.2.2 ETag / 190
    10.2.3 總結 / 192
    10.3 HttpClient客戶端緩存 / 192
    10.3.1 主流程 / 195
    10.3.2 清除無效緩存 / 195
    10.3.3 查找緩存 / 196
    10.3.4 緩存未命中 / 198
    10.3.5 緩存命中 / 198
    10.3.6 緩存內容陳舊需重新驗證 / 202
    10.3.7 緩存內容無效需重新執行請求 / 205
    10.3.8 緩存響應 / 206
    10.3.9 緩存頭總結 / 207
    10.4 Nginx HTTP緩存設置 / 208
    10.4.1 expires / 208
    10.4.2 if-modified-since / 209
    10.4.3 nginx proxy_pass / 209
    10.5 Nginx代理層緩存 / 212
    10.5.1 Nginx代理層緩存配置 / 212
    10.5.2 清理緩存 / 215
    10.6 一些經驗 / 216
    參考資料 / 217
    11 多級緩存 / 218
    11.1 多級緩存介紹 / 218
    11.2 如何緩存數據 / 220
    11.2.1 過期與不過期 / 220
    11.2.2 維度化緩存與增量緩存 / 221
    11.2.3 大Value緩存 / 221
    11.2.4 熱點緩存 / 221
    11.3 分布式緩存與應用負載均衡 / 222
    11.3.1 緩存分布式 / 222
    11.3.2 應用負載均衡 / 222
    11.4 熱點數據與更新緩存 / 223
    11.4.1 單機全量緩存+主從 / 223
    11.4.2 分布式緩存+應用本地熱點 / 224
    11.5 更新緩存與原子性 / 225
    11.6 緩存崩潰與快速修復 / 226
    11.6.1 取模 / 226
    11.6.2 一致性哈希 / 226
    11.6.3 快速恢復 / 226
    12 連接池線程池詳解 / 227
    12.1 數據庫連接池 / 227
    12.1.1 DBCP連接池配置 / 228
    12.1.2 DBCP配置建議 / 233
    12.1.3 數據庫驅動超時實現 / 234
    12.1.4 連接池使用的一些建議 / 235
    12.2 HttpClient連接池 / 236
    12.2.1 HttpClient 4.5.2配置 / 236
    12.2.2 HttpClient連接池源碼分析 / 240
    12.2.3 HttpClient 4.2.3配置 / 241
    12.2.4 問題示例 / 243
    12.3 線程池 / 244
    12.3.1 Java線程池 / 245
    12.3.2 Tomcat線程池配置 / 248
    13 異步並發實戰 / 250
    13.1 同步阻塞調用 / 251
    13.2 異步Future / 252
    13.3 異步Callback / 253
    13.4 異步編排CompletableFuture / 254
    13.5 異步Web服務實現 / 257
    13.6 請求緩存 / 259
    13.7 請求合並 / 261
    14 如何擴容 / 266
    14.1 單體應用垂直擴容 / 267
    14.2 單體應用水平擴容 / 267
    14.3 應用拆分 / 268
    14.4 數據庫拆分 / 271
    14.5 數據庫分庫分表示例 / 275
    14.5.1 應用層還是中間件層 / 275
    14.5.2 分庫分表策略 / 277
    14.5.3 使用sharding-jdbc分庫分表 / 279
    14.5.4 sharding-jdbc分庫分表配置 / 279
    14.5.5 使用sharding-jdbc讀寫分離 / 283
    14.6 數據異構 / 284
    14.6.1 查詢維度異構 / 284
    14.6.2 聚合數據異構 / 285
    14.7 任務繫統擴容 / 285
    14.7.1 簡單任務 / 285
    14.7.2 分布式任務 / 287
    14.7.3 Elastic-Job簡介 / 287
    14.7.4 Elastic-Job-Lite功能與架構 / 287
    14.7.5 Elastic-Job-Lite示例 / 288
    15 隊列術 / 295
    15.1 應用場景 / 295
    15.2 緩衝隊列 / 296
    15.3 任務隊列 / 297
    15.4 消息隊列 / 297
    15.5 請求隊列 / 299
    15.6 數據總線隊列 / 300
    15.7 混合隊列 / 301
    15.8 其他隊列 / 302
    15.9 Disruptor+Redis隊列 / 303
    15.10 下單繫統水平可擴展架構 / 311
    第4部分 案例 / 323
    16 構建需求響應式億級商品詳情頁 / 324
    16.1 商品詳情頁是什麼 / 324
    16.2 商品詳情頁前端結構 / 325
    16.3 我們的性能數據 / 327
    16.4 單品頁流量特點 / 327
    16.5 單品頁技術架構發展 / 327
    16.5.1 架構1.0 / 328
    16.5.2 架構2.0 / 328
    16.5.3 架構3.0 / 330
    16.6 詳情頁架構設計原則 / 332
    16.7 遇到的一些坑和問題 / 339
    16.8 其他 / 347
    17 京東商品詳情頁服務閉環實踐 / 348
    17.1 為什麼需要統一服務 / 348
    17.2 整體架構 / 349
    17.3 一些架構思路和總結 / 350
    17.4 引入Nginx接入層 / 354
    17.5 前端業務邏輯後置 / 356
    17.6 前端接口服務端聚合 / 357
    17.7 服務隔離 / 359
    18 使用OpenResty開發高性能Web應用 / 360
    18.1 OpenResty簡介 / 361
    18.1.1 Nginx優點 / 361
    18.1.2 Lua的優點 / 361
    18.1.3 什麼是ngx_lua / 361
    18.1.4 開發環境 / 362
    18.1.5 OpenResty生態 / 362
    18.1.6 場景 / 362
    18.2 基於OpenResty的常用架構模式 / 363
    18.3 如何使用OpenResty開發Web應用 / 371
    18.4 基於OpenResty的常用功能總結 / 375
    18.5 一些問題 / 376
    19 應用數據靜態化架構高性能單頁Web應用 / 377
    19.1 整體架構 / 378
    19.2 數據和模板動態化 / 381
    19.3 多版本機制 / 381
    19.4 異常問題 / 382
    20 使用OpenResty開發Web服務 / 383
    20.1 架構 / 383
    20.2 單DB架構 / 384
    20.3 實現 / 387
    21 使用OpenResty開發商品詳情頁 / 405
    21.1 技術選型 / 407
    21.2 核心流程 / 408
    21.3 項目搭建 / 408
    21.4 數據存儲實現 / 410
    21.5 動態服務實現 / 422
    21.6 前端展示實現 / 430

    查看全部↓

    前言/序言

    序1
    開濤勤奮好學又樂於分享,他很早就深讀了不少開源框架源碼,喫透了內核技術,又非常喜歡看技術大俠們的分享,不斷與同行交流,並學以致用,一開始參加工作就站在了較高的起點上,所以往往比同齡人做繫統更加有信心,成果更加突出。他感恩於開源和分享,也踐行著開源分享之路,每次埋頭探索之後都有細心總結,有博客時寫博客,有微信公眾號時發公眾號,把學到的和實踐總結出來的,都無私分享出來。
    網站是直接面對廣大客戶的,是公司的門戶,必須快速響應,必須持續可用,必須抗得住洪峰。任何一個網站的發展過程中都出現過問題,影響客戶體驗和商業利益,公司業務規模越大,網站出現問題的損失越大。作者進入京東後,花了不少精力從事了“永不消失的網站”建設工作。作者和同事一起,克服了一個又一個的難題,將口號變成了現實。
    本書高屋建瓴,抓住了大型高並發網站設計的核心,從設計原則,到高性能、高吞吐量、高可用的繫統設計,到高靈敏的監控繫統構思、再到應急方案的制定,不失細節,又不拘泥於細節。相比其他已出版的關於大型網站的架構類的書籍,此書更加貼近實戰,追求實用,所有內容來自於實戰,文章內容也是與同道和網友們互動後改進的,本書也沒有那些為了構建一個“完整的體繫”而隻起到填充作用的段落。此書特別適合那些快速成長型企業網站的建設者,互聯網行業的研發人員,對較大規模網站的重構也有借鋻意義,看這本書可以少走些彎路,少踩些坑,其中的策略和技術許多可以直接拿來用,從而時間。作為本書的第一批讀者,發現這本書的內容組織上兼具工具書的特點,沒有嚴格的前後依賴,可以按章節順序閱讀,也可以隨機選取中間的一章。文中公布了作者的聯絡方式,有問題能方便地交流。最後,希望這本書不要成為一個網站架構分享的終結者,希望有更多同學加入到探索和分享的隊伍中來,不斷克服新的挑戰,分享更多新成果。
    京東商城副總裁、京東Y事業部負責人於永利

    序2
    我們的互聯網開發者都曾經有過這樣的經驗。搭建一個設計精良,功能豐富的網站並不是一個高不可攀的事情。但能夠支持巨大的流量而運行自如就不是一件容易的事情了。可是,當你擁有《億級流量網站架構核心技術》時,這一切又變得那麼輕松。
    《億級流量網站架構核心技術》一書詳細地闡述了開發高並發高可用網站的一繫列關鍵原則問題。就如何實現繫統高可用,流量高並發進行了深刻剖析。本書例舉了大量的真實應用案例,幫助讀者深入了解。並且使得枯燥的說教變得生動,活潑。
    本書作者長期服務於京東研發的第一線,擁有豐富的軟件開發經驗。秉持著對技術的熱愛,為互聯網開發者奉獻自己的心路歷程。希望他的讀者能夠從這本書中受益。
    京東集團首席技術顧問翁志

    序3
    經歷過雙11和618的同學都知道,在大促時如何保證繫統的高並發、高可用是非常重要的事情。因此在備戰大促時,有些通用原則和經驗可以幫助我們在遇到高並發時,構建更可用的繫統,如限流、降級、水平擴展和隔離解耦等。通過這些原則可以在流量超預期時,很好地保護繫統,避免衝擊導致的繫統不可用。
    以前京東也遇到過一些高可用問題,如超時設置不合理導致繫統崩潰;限流措施不到位,導致負載過高時繫統崩潰;解耦不徹底,導致某個服務掛掉時所有依賴服務受影響等。這些都是在開發和運維繫統中很常見的問題,隻要開發人員在開發繫統時注意下這些點就可以很好地避免。書中的高可用部分可以很好地幫助讀者解決這些問題。
    也經常有人討論如何提升繫統性能,最直接的解決方案是擴容,或通過如加緩存來提升繫統並發能力,或使用隊列進行流量削峰,也可以使用異步並發機制提升吞吐量或者接口性能等。這些技術老生常談,並不新鮮,但很實用,大家在實現高並發繫統時經常會遇到。書中的高並發部分可以幫助讀者理解和使用這些技術。
    這本書還有一部分介紹實戰案例,其中包含了京東0級繫統“商品詳情頁”和“商品詳情頁統一服務”繫統,這兩個繫統每天承載了京東幾十億的流量,書中深入講解這兩個繫統的核心技術,還通過案例詳細介紹如何使用OpenResty設計和開發高性能Web應用,值得認真閱讀。
    本書最大的特點是實用,書中的原則和經驗是在實戰中總結和進化出來的。市面上繫統化地介紹高可用和高並發的文章並不多,成體繫的就更少了,很多都是散落在網絡上。開濤是京東優秀的架構師,有很強的架構抽像能力、扎實的編程基本功和豐富的實戰經驗,他將這些原則整理成體繫,而且加了很多案例,相信可以很好地幫助讀者學習和使用這些原則,讓讀者讀完此書後能落地到實際項目中。
    京東集團架構師吳博

    序4
    大型互聯網業務需要持續建設網站繫統並通過PC、移動等各種終端來與用戶進行交互。大流量網站架構如何支持高並發訪問並且保證高可用性,這是一個持久的、極具挑戰的技術話題。毫不誇張地說,無數互聯網行業的工程師為之奮鬥。
    開濤是京東優秀技術人纔的典型代表。他從研發一線做起,腳踏實地成長為核心架構師。他所著《億級網站架構核心技術》一書,分享高可用與高並發網站構建技術,干貨滿滿,特點鮮明。
    第一,理論與實踐結合。本書不僅總結出一繫列技術方法論,而且配合真實的案例,娓娓道來,深入淺出。讀者可以直接運用這些實用技術到自己的日常工作中。
    第二,深度與廣度兼具。本書選題極具針對性,專注於高可用與高並發兩方面技術實踐,每個方面均詳解一繫列技術細節。
    第三,技術與業務並重。開濤並沒有純談技術,而是圍繞商品詳情頁—京東重要的業務產品之一,來展開更進一步的實踐經驗分享,給讀者從業務需求到技術架構的完整視圖。
    第四,新兵與老將咸宜。無論是第一年的軟件工程師,還是工作多年的資深人士,均可從本書中受益。
    我個人強烈推薦此書。相信開濤的作品不會讓大家失望。
    京東商城總架構師、基礎平臺負責人劉海鋒

    序5
    去年年底我拿到本書的電子版,受邀為其寫書評。全書篇幅很長,打開修訂視圖後,看到開濤在即將出版之前仍然在不斷的補充素材、示例,推敲著詞句。在讀到其中的某個部分的時候,我聯想到當時工作中正在做的一個優化,還跟他詳細的討論過,他想把這個方案也補充進去作為示例。我說,內容已經夠翔實了,還嫌書不夠厚嗎?
    是的,開濤恨不得在這本書中,一股腦地告訴大家他所在領域中所學到和實踐的知識。寫書是一個喫力還不一定能討好的活兒,很佩服他居然能耐心寫了這麼多(還有很多限於整書篇幅,鏈接到他的博客和公眾號上的擴展閱讀內容)。我看到了作者的誠意。
    全書前半部分我是利用地鐵上的時間看的,雖然內容我比較熟悉,但想在看書的同時如果能提前發現一些錯誤就更好了,看得極慢。不過,除了一些筆誤之外也沒發現什麼硬傷。後來假期拖延癥犯了,答應的書評還遲遲沒有寫完。後半部分就快速看過。尤其是第四部分案例,差不多就是開濤自己之前的工作內容,這些或多或少的都通過其他渠道看過了。
    開濤結合自己的工作內容,以及相關上下遊依賴繫統中的各種方案、架構思想,通過自己的思考和歸類總結寫成本書。其中不僅有很多京東的中前端的架構實踐和技術,還有作者在工作過程中用到的很多技術細節甚至代碼。第二、三部分比較詳細和繫統地說明了高可用、高並發互聯網應用的常用架構思想和設計方法,並配合不同的場景進行舉例闡述,比較適合對此已經有了一些經驗的讀者。針對一些常見軟件和框架的細節使用說明,以及提供很多代碼的行文風格,也許能滿足那些想立即動手實踐的讀者。
    架構講究權衡和取舍,但是前提之一是盡可能在多個相關領域的技術知識層面有經驗,因此架構也很重視細節,需要對很多因素有充分思考和權衡,纔有取舍。讀者在閱讀本書的過程中,關注點如果是各種架構方法,則需要注意作者描述的適用場景。如果關注點是各種具體的技術細節,也不要忘記思考背後所體現的架構思想。實際的工作中,很多方案是若干架構方法和技術的綜合運用,並且隨著業務或場景的變化而不斷調整的,不要拘泥。
    突然想到了倚天屠龍記中張無忌向張三豐學太極劍一節,最後張無忌成功忘記了所有的招式。對於武功高手來說,最後都是要融會貫通,形成自身體繫的,不要被特定的招式所束縛。學習架構,也不外乎是吧。
    京東商城—交易平臺架構師肖飛

    序6
    動起來
    開濤是個勤奮的寫手,寫方案,寫代碼,寫分享,孜孜不倦。對於大多數軟件開發和設計人員來說,寫作不是一件容易的事。因為寫出來並不是給自己看的,是要給同行們看。技術人員一方面對好的技術追求若渴,另一方面又天然地用批判和挑剔的眼光看同行的作品,算是魯迅先生的同道吧。也正因為如此,開濤為此書內容的質量下了不少功夫。
    開濤的職業生涯從空中網開始,2014年加入京東,一頭扎進了超0級繫統的建設過程中,京東商城商品詳情頁改版、商品詳情頁統一服務規劃與落地。這些繫統代表著京東的形像,代表著京東技術團隊的形像(開濤也是高顏值)。這些繫統必須能抗峰值、不掉線、響應快,隨著業務量的猛增,預期的瓶頸很快會到來,這次關鍵的繫統改版也是從這些挑戰開始,後來也就有了“永不消失的單品頁”,也就有了這本書中的案例和用心總結。
    作者停下開發的腳步,通過思考和總結,把動態的實踐靜止到了紙張上,給大家帶來了精彩,又似躍然紙上,願各位讀者能夠把這些發生在某個歷史瞬間的實踐總結動態地運用到現實的開發實踐中。也期望作者可以開放群或者公眾號,邀請技術專家進來,與讀者進行交流,動起來。
    京東商城架構師林世洪
    2016年12月

    序7
    開啟探索之旅,感受技術的魅力
    近年來,中國的互聯網產業正在以前所未有的速度迅猛發展。而技術在業務發展中所扮演的角色日益重要,隨著各個業務形態的發展湧現出了許多技術應用上的成功案例和先進技術的研究成果。而作者在本書中則通過對工作中的探索和總結來將繫統高可用這個神秘莫測的面紗揭開,讓對此有興趣的人得以窺其真容。
    在以往的交流和面試過程中,大多數的研發人員在其所研發的繫統中很少有機會或確實不需要和繁多的上下遊繫統、海量的業務數據、復雜的部署環境以及極端災難(如機房斷電、光纖損壞)打交道,因此也沒有契機和計劃去詳細了解、研究繫統的高可用,對於繫統高可用的理解和實踐大多停留在理論認知和個人嘗試階段,很難有機會應用到解決實際業務問題上,也就很難形成自己技術和理念上的一個積累。而等到終於有機會開始在海量數據和高並發場景下一展身手的時候,又常常會因為曾經沒有過繫統的學習和經驗積累而在設計繫統、容災策略、解決問題的過程中艱難前行。本書則通過淺顯易懂的理念解讀和實際案例將繫統高可用相關的繫統設計原則、繫統限流、降級措施等“兵法三十六計”以非常直白的方式呈現給了大家。讓我們對於一些常見的高並發業務場景下的繫統設計原則、高可用策略有了清晰的認識和思路的拓展。無論是剛剛接觸編程的學生還是已身經百戰的一線研發人員都可以從書中得到很多啟發,也許隻是一個配置的改變、一行邏輯的優化、一個策略的調整都有可能讓我們的繫統可用性登上新的臺階。
    京東的網站繫統走過了從靜態到動態、從動態到動靜結合、從對DB的強依賴到多級緩存、從重啟服務器到自如切換流量、從對503的恐懼到從容應對問題、從修改代碼應對異常到修改配置輕松搞定的繫統演變歷程。當一個繫統的業務體量達到可以引起繫統性能和健壯性發生退變的時候,伴隨著繫統問題到來的更是研發人員自身能力提升和寶貴經驗積累的好時機。與其將問題用重啟應用和“無法解釋的詭異問題”來掩蓋,不如把問題的根源挖掘出來。如果挖掘得足夠深入,一切問題都是可解決的。書中使用的技術和總結的經驗也許無法解決書中業務場景之外的問題,但這也恰恰是技術的魅力所在。沒有一種技術和經驗可以作為繫統的萬能解藥來幫助我們一勞永逸的避免掉所有隱患,但我們可以通過對思想的接納和消化來豐富我們的知識體繫,讓我們成為一個有思想的研發人員。阮一峰曾經在他的書中對於“如何變有思想”做過解釋,我覺得非常適合用在研發人員的身上。研發人員的思想是什麼?當你對一個需求、對一個業務形態或者對一個問題有自己的觀點見解,那你就是有思想的。你的觀點越多就越可能接近問題的本質,那麼你的思想就越深刻和豐富。雖然你的觀點不一定是事實也不一定是正確的,但作為研發人員如果有了通過不斷探索、質疑、證明觀點的能力之後,那麼也就有了透析問題、解決問題的能力。那麼在面對一個看似簡單的需求或者業務時,也許你可以看得更透徹,將繫統設計得更適用更合理,當你遇到書中提及的問題時也可以開始輕松應對。
    我想,閱讀並了解書中對於繫統高可用這個領域的介紹一定會讓你樂在其中。雖然你可能會有些疑惑和不解,但作為一個技術人對於技術的追求和探索不就是應該這樣嗎?最後,我邀請你一起踏上這個對於繫統高可用的探索之旅,來感受技術的魅力。
    京東商城研發總監韓笑躍

    序8
    大規模分布式繫統的構建,面臨很多的困難和問題,但是請記住,對架構師而言,不管我們要解決多少困難,最重要的是要保證繫統可用,無論任何環境、任何壓力、任何場景,繫統都要可用,這是我們的第一要務。在保證繫統高可用的前提下,大型分布式繫統面臨的最突出的三大問題就是:如何應對高並發、如何處理大數據量、如何處理分布式帶來的一繫列問題。這也是很多一線架構老司機們的感悟和共識。
    由於一本書的容量有限,不可能面面俱到,因此本書集中火力,繫統、詳細、專業地講述了:大型分布式繫統如何保證高可用性,以及如何應對高並發這兩個大方面。涉及到很多技術和細節。比如用來保證高可用的:負載均衡和反向代理、隔離、限流、降級、超時與重試等;又比如用來處理高並發的:應用緩存、多極緩存、連接池、異步並發、隊列處理等。對很多朋友來說,這裡面很多知識都是久聞其名,而不知其然,更不知其所以然的,學習本書正好能彌補大家在這些方面的知識短板。
    作者以匠人的情懷,把每個方面從理論到應用、從技術本質到具體實現都講得透徹明了,以平實而不失激情的風格娓娓道來,再輔以實戰經驗的擴展,不單單讓讀者學習到具體的技術和解決問題的思路,更是給出了應對問題的具體解決方案,基本上可以直接把這些方案拿到實際項目中直接使用。
    尤為難得的是:本書還結合實際的大型應用——京東的商品詳情頁的實現,詳細講解了這些技術和方案在真實場景的組合應用,以更好的讓知識落地。本書先是介紹了京東商品詳情頁的基本功能、技術架構的發展以及架構設計,當然還有很多實際的經驗和體會,以“遇到的坑和問題”的面貌出現;然後詳細地講述了京東商品詳情頁的服務閉環實踐。
    為了更好地講述京東商品詳情頁的具體實現,作者先講述了實現中使用的基本技術——OpenResty,然後再詳細地講解如何使用OpenResty來開發商品詳情頁,裡面涉及好多具體而細化的點,都是實際開發中會用到的,值得去認真體會。這樣真實而詳細地講述這種大型繫統的實現,絕對一手的技術資料,是具有極大的參考價值的。
    其實,市面上講述大型分布式架構的書很多,但基本上都停留在理論和知識的層面,看上去都很對,很“高大上”,但就是落不了地,不能很好地跟實際應用進行結合,從而導致學習的效果欠佳。而本書很好地解決了這個問題,不僅深入淺出地講述了各種保障高可用,以及處理高並發的技術和方案,並理論聯繫實際,采用京東商品詳情頁的具體實現這個實際案例,來綜合展示了這些技術的應用,從而加深大家的理解和領悟,以更好地把這些技術和方案應用到自己的實際項目中去。
    事實上,像本書這樣既有詳盡的技術學習,又有真實、典型案例講述的好書,在市面上是不多見的,畢竟真正擁有這種大型繫統完整架構經驗的人並不多,能講明白的更少。本書作者恰好就是那極少數技術、經驗和知識傳授俱佳的牛人之一,這是讀者之幸。仔細閱讀完本書,讓人有一種醍醐灌頂的頓悟,掩卷長嘆“原來如此啊”。
    坦率地說,本書不是寫給初學者的,對於有一定的開發經驗,甚至是架構設計經驗的朋友,能從本書中收獲更多。但我仍然確信,不管是富有經驗的架構師,還是想要學習架構知識的入門者,仔細、深入閱讀本書,就一定會有收獲。對於暫時不太理解的內容,建議反復閱讀,或者隔段時間再看,並不斷深入思考,最好是能結合實際的項目,把這些知識都應用上去,學以致用,這也不枉費作者的一番心血。
    細想起來,認識作者八年多了,眼看著作者走出校園步入職場,從職場新兵,到成長成為在京東領導著上百人團隊的技術大牛,仿佛一切都在昨天,讓人不由不感慨時間如白駒過隙。在我眼中,作者依然是那帥氣、陽光、聰明而又略微有些靦腆的大男孩形像;喜歡研究技術,特別好學、善思、勤奮,且積極在實際工作中應用所學的知識;喜歡分享技術,常年堅持撰寫技術博文,擁有不少忠實粉絲,在京東內部,也是特別受歡迎的講師之一。另外告訴大家一個小秘密,作者愛好攝影,絕對專業級水準哦。
    《研磨設計模式》作者陳臣

    查看全部↓



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部