架構解密 從分布式到微服務+人人都是架構師+Spring Cloud與Docker微服務架構實戰+億級流量網站架構核心技術 軟件開發技術基礎書
9787121315626 9787121312717 9787121313011 9787121309540 9787121312380
架構解密:從分布式到微服務
曆經三年終齣版!從你想瞭解的源碼、理論、經驗、視野等維度,對從分布式到微服務,進行架構解密!
分布式架構與微服務平颱是當今IT界的關鍵技術,也是資深軟件工程師和係統架構師必須掌握的核心技術。《架構解密:從分布式到微服務》以從傳統分布式架構遷移到基於容器技術的微服務架構為主綫,全麵、透徹地介紹瞭與分布式架構及微服務相關的知識和技術。《架構解密:從分布式到微服務》一開始並沒有提及分布式的枯燥理論,而是講述瞭一段精彩的IT發展史,其中重點講述瞭大型機、UNIX小機器的沒落與X86平颱的崛起,從而巧妙地引齣CPU、內存、網絡、存儲的分布式演進過程,這恰恰是分布式軟件係統賴以運行的“物質基礎”。然後簡明扼要地介紹瞭進行係統架構所必需的網絡基礎,並詳細介紹瞭分布式係統中的**理論、設計套路及RPC通信,對內存、SOA架構、分布式存儲、分布式計算等進行瞭深度解析,·後詳細介紹瞭全文檢索與消息隊列中間件,以及微服務架構所涉及的重點內容。 《架構解密:從分布式到微服務》是Leader-us多年架構經驗的傾情分享,主要麵嚮關注分布式架構及微服務,以及有誌於成為實力派架構師的IT人士。
Leader-us,本名吳治輝,惠普資深軟件架構師,國內知名開源分布式數據庫中間件 Mycat的發起人,精通Java編程,擁有超過16年軟件研發經驗,專注於電信和雲計算方麵的軟件研發,參與過眾多分布式與雲計算相關的大型項目架構設計和 Coding,是業界少有的具備很強 Coding 能力的 S級資深架構師;曾經選拔和培養瞭大批**Java工程師,他們中的大多數人進入知名軟件公司參與核心研發,也有一些人選擇創業。 Leader-us 也是《ZeroC Ice 木又威指南》《Kubernetes 木又威指南:從 Docker到 Kubernetes 實踐全接觸》的作者。
第1章 大話分布式係統 11.1 IT爭霸戰 11.1.1 劃時代的,颱計算機 11.1.2 IT界的恐龍時代 41.1.3 貴族的沒落與平民的勝利 61.1.4 ARM新貴的爆發 101.1.5 超級計算機的絕地反擊 111.2 分布式係統的開國元勛 131.3 分布式係統的基石:TCP/IP 171.4 從無奈到崛起的CDN網 191.5 這是一個·好的時代 21第2章 “知識木桶”中的短闆—— 網絡基礎 232.1 即使高手也不大懂的網絡 232.2 NIO,一本難念的經 302.2.1 難懂的ByteBuffer 302.2.2 晦澀的“非阻塞” 392.2.3 復雜的Reactor模型 412.3 AIO,大道至簡的設計與苦澀的現實 452.4 網絡傳輸中的對象序列化問題 50第3章 分布式係統的**基礎理論 553.1 從分布式係統的設計理念說起 553.2 分布式係統的一緻性原理 583.3 分布式係統的基石之ZooKeeper 613.3.1 ZooKeeper的原理與功能 613.3.2 ZooKeeper的場景案例分析 653.4 **的CA理論 693.5 BASE準則,一個影響深遠的指導思想 723.6 重新認識分布式事務 733.6.1 數據庫單機事務的實現原理 733.6.2 **的X/OpenDTP事務模型 753.6.3 互聯網中的分布式事務解決方案 78第4章 聊聊RPC 834.1 從IPC通信說起 834.2 古老又有生命力的RPC 854.3 從RPC到服務治理框架 914.4 基於ZeroC Ice的微服務架構指南 944.4.1 微服務架構概述 954.4.2 ZeroC Ice微服務架構指南 100第5章 深入淺析內存 1075.1 你所不知道的內存知識 1075.1.1 復雜的CPU與單純的內存 1075.1.2 多核CPU與內存共享的問題 1105.1.3 著名的Cache僞共享問題 1135.1.4 深入理解不一緻性內存 1155.2 內存計算技術的前世今生 1185.3 內存緩存技術分析 1235.3.1 緩存概述 123
億級流量網站架構核心技術 跟開濤學搭建高可用高並發係統
億級流量網站架構核心技術》一書總結並梳理瞭億級流量網站高可用和高並發原則,通過實例詳細介紹瞭如何落地這些原則。本書分為四部分:概述、高可用原則、高並發原則、案例實戰。從負載均衡、限流、降級、隔離、超時與重試、迴滾機製、壓測與預案、緩存、池化、異步化、擴容、隊列等多方麵詳細介紹瞭億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐項目中。
不管是軟件開發人員,還是運維人員,通過閱讀《億級流量網站架構核心技術》都能係統地學習實現億級流量網站的架構核心技術,並收獲解決係統問題的思路和方法。
張開濤,現就職於京東,“開濤的博客”公眾號作者。寫過《跟我學Spring》《跟我學Spring MVC》《跟我學Shiro》《跟我學Nginx+Lua開發》等係列教程,博客現有1000多萬訪問量。
第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
..........
Spring Cloud微服務實戰+Spring Cloud與Docker微服務架構實戰
Spring Cloud與Docker微服務架構實戰
- 作者:
- 齣版社:
- ISBN:9787121312717
- 上架時間:2017-4-6
- 齣版日期:2017 年4月
- 開本:16開
- 頁碼:268
- 版次:1-1
- 所屬分類:
作為一部幫助大傢實現微服務架構落地的作品,《Spring Cloud與Docker微服務架構實戰》覆蓋瞭微服務理論、微服務開發框架(Spring Cloud)以及運行平颱(Docker)三大主題。全書可分為三部分,第1章對微服務架構進行瞭係統的介紹;第2-11章使用Spring Cloud開發框架編寫瞭一個"電影售票係統";第12-14章則講解瞭如何將微服務應用運行在Docker之上。全書Demo驅動學習,以連貫的場景、具體的代碼示例來引導讀者學習相關知識,·終使用特定的技術棧實現微服務架構的落地。
熱愛技術交流,曾代錶公司參加全球微服務架構高峰論壇、QCon等技術沙龍。擁抱開源,在GitHub與Git@OSC上開源多個項目,並獲得瞭開源中國的推薦,例如開源電子書《使用Spring Cloud與Docker實戰微服務》等。
筆者博客:http://itmuch.com,定期分享Spring Cloud相關博客。讀者可掃碼關注Spring Cloud 中國社區公眾號以及作者公眾號。
- 1 微服務架構概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 單體應用架構存在的問題1
1.2 如何解決單體應用架構存在的問題3
1.3 什麼是微服務3
1.4 微服務架構的優點與挑戰5
1.4.1 微服務架構的優點5
1.4.2 微服務架構麵臨的挑戰5
1.5 微服務設計原則6
1.6 如何實現微服務架構7
1.6.1 技術選型7
1.6.2 架構圖及常用組件8
2 微服務開發框架--Spring Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Spring Cloud 簡介10
2.2 Spring Cloud 特點10
2.3 Spring Cloud 版本11
2.3.1 版本簡介11
2.3.2 子項目一覽12
2.3.3 Spring Cloud/Spring Boot 版本兼容性13
3 開始使用Spring Cloud 實戰微服務. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Spring Cloud 實戰前提143 開始使用Spring Cloud 實戰微服務. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Spring Cloud 實戰前提14
3.1.1 技術儲備14
3.1.2 工具及軟件版本15
3.2 服務提供者與服務消費者16
3.3 編寫服務提供者16
人人都是架構師:分布式係統架構落地與瓶頸突破
《人人都是架構師:分布式係統架構落地與瓶頸突破》並沒有過多渲染係統架構的理論知識,而是切切實實站在開發一綫角度,為各位讀者詮釋瞭大型網站在架構演變過程中齣現一係列技術難題時的解決方案。《人人都是架構師:分布式係統架構落地與瓶頸突破》首先從分布式服務案例開始介紹,重點為大傢講解瞭大規模服務化場景下企業應該如何實施服務治理;然後在大流量限流/消峰案例中,筆者為大傢講解瞭應該如何有效地對流量實施管製,避免大流量對係統産生較大衝擊,確保核心業務的穩定運行;接著筆者為大傢講解瞭分布式配置管理服務;之後的幾章,筆者不僅為大傢講解瞭秒殺、限時搶購場景下熱點數據的讀/寫優化案例,還為大傢講解瞭數據庫實施分庫分錶改造後所帶來的一係列影響的解決方案。
《人人都是架構師:分布式係統架構落地與瓶頸突破》適用於任何對分布式係統架構感興趣的架構師、開發人員以及運維人員。相信閱讀《人人都是架構師:分布式係統架構落地與瓶頸突破》你將會有知其然和知其所以然的暢快感。
目錄
第1章 分布式服務案例 1
1.1 分布式係統的架構演變過程 2
1.1.1 單機係統 3
1.1.2 集群架構 4
1.1.3 拆係統之業務垂直化 6
1.1.4 為什麼需要實現服務化架構 8
1.1.5 服務拆分粒度之微服務 10
1.2 係統服務化需求 11
1.2.1 服務化與RPC協議 11
1.2.2 使用阿裏分布式服務框架Dubbo實現服務化 12
1.2.3 警惕Dubbo因超時和重試引起的係統雪崩 16
1.2.4 服務治理方案 18
1.2.5 關於服務化後的分布式事務問題 201.3 分布式調用跟蹤係統需求 21
1.3.1 Google的Dapper論文簡介 22
1.3.2 基於Dubbo實現分布式調用跟蹤係統方案 25
1.3.3 采樣率方案 35
1.4 本章小結 37
第2章 大流量限流/消峰案例 38
2.1 分布式係統為什麼需要進行流量管製 39
2.2 限流的具體方案 42
2.2.1 常見的限流算法 43
2.2.2 使用Google的Guava實現平均速率限流 45
2.2.3 使用Nginx實現接入層限流 48
2.2.4 使用計數器算法實現商品搶購限流 49
2.3 基於時間分片的消峰方案 51
2.3.1 活動分時段進行實現消峰 52
2.3.2 通過答題驗證實現消峰 52
2.4 異步調用需求 53
2.4.1 使用MQ實現係統之間的解耦 54
2.4.2 使用Apache開源的ActiveMQ實現異步調用 55
2.4.3 使用阿裏開源的RocketMQ實現互聯網場景下的流量消峰 61
2.4.4 基於MQ方案實現流量消峰的一些典型案例 72
2.5 本章小結 75
第3章 分布式配置管理服務案例 76
3.1 本地配置 77
3.1.1 將配置信息耦閤在業務代碼中 77
3.1.2 將配置信息配置在配置文件中 79
3.2 集中式資源配置需求 82
3.2.1 分布式一緻性協調服務ZooKeeper簡介 83
3.2.2 ZooKeeper的下載與集群安裝 84
3.2.3 ZooKeeper的基本使用技巧 86
3.2.4 基於ZooKeeper實現分布式配置管理平颱方案 87
3.2.5 從配置中心獲取Spring的Bean定義實現Bean動態注冊 93
3.2.6 容災方案 95
3.2.7 使用淘寶Diamond實現分布式配置管理服務 96
3.2.8 Diamond與ZooKeeper的細節差異 101
3.2.9 使用百度Disconf實現分布式配置管理服務 102
3.3 本章小結 110
第4章 大促場景下熱點數據的讀/寫優化案例 111
4.1 緩存技術簡介 112
4.1.1 使用Ehcache實現數據緩存 114
4.1.2 LocalCache存在的弊端 116
4.1.3 神秘的off-heap技術 117
4.2 高性能分布式緩存Redis簡介 120
4.2.1 使用Jedis客戶端操作Redis 121
4.2.2 使用Redis集群實現數據水平化存儲 122
4.3 同一熱賣商品高並發讀需求 124
4.3.1 Redis集群多寫多讀方案 125
4.3.2 保障多寫時的數據一緻性 126
4.3.3 LocalCache結閤Redis集群的多級Cache方案 128
4.3.4 實時熱點自動發現方案 130
4.4 同一熱賣商品高並發寫需求 132
4.4.1 InnoDB行鎖引起數據庫TPS下降 132
4.4.2 在Redis中扣減熱賣商品庫存方案 134
4.4.3 熱賣商品庫存扣減優化方案 138
4.4.4 控製單機並發寫流量方案 141
4.4.5 使用阿裏開源的AliSQL數據庫提升秒殺場景性能 142
4.5 本章小結 148
第5章 數據庫分庫分錶案例 149
5.1 關係型數據庫的架構演變 150