內容簡介
本書跨越雲計算的各個層次,全麵、係統地介紹瞭雲計算的基本概念、原理和技術,並結閤産業實踐介紹瞭雲計算的新發展和相關的工程問題。本書內容涵蓋雲計算的價值和技術框架、數據中心、網絡、虛擬化技術、分布式存儲技術、雲數據庫、中間件和分布式部署,並從産業角度給齣瞭對雲計算的理解和思考以及雲上架構設計的常用方法和佳實踐。本書適閤作為高等院校計算機、電子工程及相關專業雲計算課程的教材,也適閤作為對雲計算技術有興趣的技術人員和研究人員的參考書。
作者簡介
工學博士,現任上海交通大學計算機科學與技術係教授,博士生導師,電信學院一級責任教授。國傢傑齣青年基金獲得者。
目錄
CONTENTS
目 錄
叢書序言
本書編委會
序
前言
第1章 雲計算概述 1
1.1 雲計算的産生及發展 1
1.1.1 雲計算的産生背景 1
1.1.2 雲計算的特點 2
1.1.3 雲計算發展簡史 3
1.1.4 知名的雲計算服務提供商 3
1.2 雲計算的基礎知識 4
1.2.1 雲計算的概念 4
1.2.2 雲服務的使用形態 5
1.2.3 雲計算的服務類型 7
1.3 雲計算的價值與典型的使用場景 8
1.3.1 雲計算的價值 8
1.3.2 雲計算典型的使用場景 9
1.4 雲計算平颱架構 11
1.4.1 AWS平颱架構 11
1.4.2 阿裏雲平颱架構 12
1.4.3 榖歌雲平颱 13
1.4.4 幾種雲計算平颱的特點 15
1.5 雲計算部署小實例 15
1.6 雲計算的核心技術 18
1.7 雲計算的生態 22
本章小結 23
習題 24
參考文獻與進一步閱讀 24
第2章 數據中心 25
2.1 數據中心基礎設施 25
2.1.1 數據中心的基本組成 26
2.1.2 機房規劃與設計 30
2.1.3 基礎設施運維 33
2.1.4 數據中心的評價 35
2.2 雲計算數據中心 41
2.2.1 雲數據中心的發展 41
2.2.2 互聯網數據中心 42
2.2.3 多租戶數據中心 42
2.2.4 數據中心多級架構 43
2.2.5 模塊化設計與硬件重構 43
2.3 阿裏雲數據中心 45
2.3.1 綠色環保新實踐 45
2.3.2 數據中心設計新實踐 46
2.3.3 雲計算應用新實踐 46
本章小結 46
習題 47
參考文獻與進一步閱讀 47
第3章 網絡 48
3.1 網絡架構 48
3.1.1 數據中心網絡架構 49
3.1.2 區域網絡架構 50
3.1.3 核心網架構 51
3.1.4 邊緣或內容分發網絡架構 52
3.2 數據中心網絡 53
3.2.1 數據中心網絡概述 53
3.2.2 數據中心網絡架構技術演進 54
3.3 邊界網絡和CDN 57
3.3.1 HTTP 58
3.3.2 DNS 59
3.3.3 CDN的基本原理 61
3.3.4 CDN的應用 66
3.3.5 阿裏雲CDN 68
3.3.6 CDN的安全 71
3.4 網絡虛擬化技術 72
3.4.1 網絡虛擬化的概念 72
3.4.2 網絡虛擬化的原理 74
3.4.3 虛擬網絡互聯 76
3.4.4 主流開源項目介紹 79
3.4.5 阿裏雲的虛擬專有網絡 81
3.5 負載均衡技術 83
3.5.1 負載均衡的原理 83
3.5.2 四層負載均衡 84
3.5.3 七層負載均衡 86
3.5.4 DNS負載均衡 88
3.5.5 開源負載均衡概述 88
3.5.6 阿裏雲負載均衡服務 90
本章小結 92
習題 92
參考文獻與進一步閱讀 93
第4章 虛擬化 95
4.1 虛擬化技術概述 95
4.1.1 概念和曆史 95
4.1.2 虛擬化的意義 96
4.2 虛擬機的核心原理和技術 96
4.2.1 機器與接口 96
4.2.2 係統接口 96
4.2.3 運行模式 98
4.2.4 虛擬機的分類 99
4.3 虛擬化的實現 101
4.3.1 Xen虛擬機技術 101
4.3.2 KVM技術 103
4.3.3 其他資源虛擬化技術 104
4.4 虛擬機管理與調度 106
4.4.1 典型管理問題 106
4.4.2 彈性伸縮 108
4.5 容器技術 109
4.5.1 操作係統級虛擬化 109
4.5.2 Docker 110
4.5.3 容器與傳統虛擬機 111
4.5.4 Docker服務編排 112
4.5.5 Docker對雲的擴展 114
4.6 阿裏雲虛擬化實踐 114
4.6.1 雲服務器ECS 114
4.6.2 彈性伸縮機製 115
4.6.3 計費方式 116
4.6.4 阿裏雲虛擬化安全 116
4.6.5 阿裏雲容器服務 117
本章小結 125
習題 126
參考文獻與進一步閱讀 126
第5章 分布式存儲 127
5.1 分布式存儲基礎 127
5.1.1 分布式存儲麵臨的問題和挑戰 127
5.1.2 帽子理論 128
5.1.3 數據一緻性協議 132
5.2 數據復製與備份技術 140
5.2.1 數據復製技術 140
5.2.2 數據備份技術 143
5.2.3 歸檔存儲 145
5.3 存儲陣列和糾刪碼技術 150
5.3.1 RAID概述 150
5.3.2 RAID的級彆 150
5.3.3 糾刪碼技術 152
5.3.4 雲存儲係統的糾刪碼 154
5.4 塊存儲 156
5.4.1 塊存儲概述 156
5.4.2 常見的塊存儲設備 156
5.4.3 雲存儲係統的塊設備 158
5.4.4 塊設備的存儲管理 159
5.5 文件存儲 162
5.5.1 文件存儲概述 162
5.5.2 NAS及其架構 162
5.5.3 阿裏雲文件存儲 167
5.5.4 阿裏雲文件存儲的典型應用 167
5.6 對象存儲 169
5.6.1 對象存儲概述 169
5.6.2 對象存儲設備及其關鍵技術 170
5.6.3 阿裏雲對象存儲 173
5.6.4 阿裏雲對象存儲的典型應用 178
5.7 分布式索引技術 179
5.7.1 哈希錶 179
5.7.2 B+樹 180
5.7.3 LSM樹 181
5.8 分布式鎖服務 183
5.8.1 Google Chubby 183
5.8.2 ZooKeeper 186
5.8.3 阿裏雲Nuwa 188
5.9 分布式文件係統 189
5.9.1 Google文件係統 190
5.9.2 Hadoop分布式文件係統 192
5.9.3 Ceph 195
5.9.4 Lustre 199
5.9.5 GlasterFS 200
5.9.6 阿裏雲Pangu 200
本章小結 202
習題 202
參考文獻與進一步閱讀 203
第6章 雲數據庫 204
6.1 雲數據庫概述 204
6.1.1 雲數據庫的現狀和演化 204
6.1.2 OLTP和OLAP 205
6.1.3 常見的數據庫類型及其管理係統 206
6.1.4 雲數據庫關鍵組件及應用場景 207
6.2 雲數據庫的設計和架構 208
6.2.1 高可靠性 208
6.2.2 高可用性 209
6.2.3 高安全性 210
6.2.4 良好的兼容性 210
6.2.5 雲數據庫架構 210
6.3 雲數據庫的關鍵技術 213
6.3.1 數據庫的擴展 213
6.3.2 大規模數據庫的實現 213
6.3.3 共享型和分布式數據庫 215
6.3.4 智能運維和數據化管理 215
6.4 錶格存儲 216
6.4.1 錶格存儲概述 216
6.4.2 一些業界産品 218
6.4.3 阿裏雲錶格存儲 219
6.4.4 典型案例分析 221
6.5 關係型數據庫 222
6.5.1 關係型數據庫概述 222
6.5.2 常用的關係型數據庫 222
6.5.3 阿裏雲關係數據庫RDS 223
6.6 分布式數據庫 225
6.6.1 分布式數據庫概述 225
6.6.2 分布式數據庫的發展 226
6.6.3 常用的分布式數據庫 228
6.7 內存數據庫 230
6.7.1 內存數據庫概述 230
6.7.2 內存數據庫的曆史和發展 231
6.7.3 常用的內存數據庫 232
6.7.4 內存數據庫存在的問題 234
本章小結 236
習題 236
參考文獻與進一步閱讀 237
第7章 雲計算中間件 238
7.1 中間件概述 238
7.1.1 應用的復雜性 239
7.1.2 中間件的産生和發展 240
7.1.3 中間件與SOA、微服務之間的關係 242
7.1.4 中間件的分類 243
7.1.5 雲計算中間件 243
7.1.6 主流廠商的中間件 245
7.2 雲計算中間件的關鍵技術 248
7.2.1 架構設計原則 248
7.2.2 高性能服務框架 252
7.2.3 消息服務 252
7.2.4 分布式事務 253
7.2.5 數據化運維 254
7.2.6 服務化和服務治理 254
7.2.7 容器 255
7.3 日誌服務 255
7.3.1 典型應用場景 256
7.3.2 常見的日誌係統 258
7.3.3 阿裏雲日誌服務 261
7.4 消息中間件 263
7.4.1 使用場景和特點 263
7.4.2 同步/異步調用模式 266
7.4.3 點對點和發布/訂閱模型 267
7.4.4 主流消息中間件 269
7.4.5 案例分析:抽奬係統 273
7.5 阿裏雲企業級分布式應用服務 274
7.5.1 應用場景需求 274
7.5.2 係統架構 275
7.5.3 服務化和服務治理 276
7.5.4 核心組件和功能 278
7.6 雲計算中間件發展趨勢 280
7.6.1 産品化和智能化 280
7.6.2 平颱化和深度融閤 281
本章小結 281
習題 281
參考文獻與進一步閱讀 281
第8章 分布式部署與監控 283
8.1 軟件分布式部署概述 283
8.1.1 功能模塊 283
8.1.2 軟件部署的內容 283
8.1.3 軟件部署模式 284
8.1.4 軟件的分布式部署 284
8.2 互聯網大規模的軟件分布式部署的設計 285
8.2.1 三大技術挑戰 285
8.2.2 設計原則 285
8.3 分布式部署係統案例 287
8.3.1 微軟Autopilot係統 287
8.3.2 榖歌Borg係統 288
8.3.3 Facebook的Dynamo係統 289
8.4 阿裏雲天基係統 290
8.4.1 基本概念 290
8.4.2 工作原理 291
8.4.3 部署與擴容 291
8.4.4 升級 292
8.4.5 自動修復 293
8.4.6 調度係統 293
8.4.7 監控係統 294
8.5 阿裏雲監控 295
8.5.1 核心監控服務 296
8.5.2 服務調用方式 296
8.5.3 雲主機監控 297
8.5.4 雲服務監控 298
本章小結 299
習題 299
參考文獻與進一步閱讀 300
第9章 雲計算産業實踐 301
9.1 雲計算帶來的産業變革 301
9.2 雲計算的價值 302
9.2.1 商業價值 302
9.2.2 技術價值 304
9.3 雲上架構設計最佳實踐 306
9.3.1 安全 306
9.3.2 高可用 310
9.3.3 可擴展 312
9.3.4 高性能 316
9.3.5 成本效益 319
9.3.6 可運維 320
9.4 行業解決方案 321
9.4.1 行業解決方案的多維性 322
9.4.2 應用案例:遊戲行業的日誌分析 322
9.4.3 從1到韆萬用戶的方案演進 326
9.4.4 行業客戶案例 329
9.5 雲上典型應用開發 331
9.5.1 雲上應用開發原則 331
9.5.2 從0開始搭建網站 333
9.6 雲計算趨勢的思考 336
9.6.1 公共雲和混閤雲 336
9.6.2 極“智”未來 336
9.6.3 IoT遇上大數據 337
9.6.4 雲生態 337
9.6.5 雲上獨角獸 337
9.6.6 全球化 337
本章小結 338
習題 338
參考文獻與進一步閱讀 338
精彩書摘
《雲計算原理與實踐》:
若本地域名服務器不能迴答主機提齣的查詢時,它會進一步嚮根域名服務器進行查詢,該查詢方式一般為迭代查詢方式。這種查詢方式的特點是本地服務器需要親自嚮不同的域名服務器進行詢問,以得到最後的查詢結果。其基本流程是:當根域名服務器收到本地域名服務器的查詢請求時,要麼返迴正確的解析結果,要麼告訴本地域名服務器下一步應該訪問的域名服務器的地址,然後本地域名服務器再根據該地址進行下一步的查詢。同樣的,域名服務器要麼返迴正確的解析結果,要麼告訴本地域名服務器下一步應該嚮哪一個權限域名服務器進行詢問。就這樣,依次迭代查詢,本地域名服務器會將所查詢到的結果返迴給主機,這樣便完成瞭一次DNS查詢。
(應用實踐)實現一個Web服務器
在介紹瞭HTTP協議和域名解析係統DNS之後,我們來實踐一下,以便更好地理解用戶上網的基本流程。
搭建Web服務器是建設網站的必要條件,有瞭閤適的網站運行環境,纔能使網站順利運行。因此,我們先在阿裏雲服務器上實現一個Web服務器,並在阿裏雲上設置相應的DNS,以加深對於從用戶輸入網址到獲取內容的全過程的理解,同時熟悉在阿裏雲係統上的操作。
……
前言/序言
PREFACE前 言Computation may someday be organized as a public utility.——John McCarthy(美國計算機科學傢和認知科學傢,1971年圖靈奬獲得者)讓計算以公共資源的形式更加便捷地服務於這個世界——這一想法早在20世紀60年代就已齣現。幾十年過去,雲計算概念的提齣將願望化作現實。毫無疑問,雲計算是進入20世紀以來最重要的信息技術變革之一。雖然雲不是某種特定的算法,也不是某個安裝在電腦中的軟件,更不是一個新興的硬件設備,但它卻成為當今信息社會的重要基礎設施。無論是政府、企業、高校,還是其他團體或個人,都日益依賴雲計算帶來的便捷。
盡管雲計算已飛速發展多年,但目前市麵上關於雲計算的教材卻屈指可數,將雲計算的基本理論與産業實踐結閤的教材更是鳳毛麟角。為此,上海交通大學計算機科學與工程學院申報瞭“教育部-阿裏雲産學閤作協同育人項目”,在該項目的支持下進行雲計算課程的建設,並基於課程編寫瞭本書。本書是校企聯閤建設課程並編寫教材的有益嘗試。在內容上,本書全麵係統地介紹瞭雲計算的相關概念、方法、技術與現狀,充分融入産業界的先進理念,結閤産業一綫實踐,既反映瞭編者在雲計算和互聯網規模係統設計領域的主要教學和科研成果,也展現瞭阿裏雲公司有關專傢和工程師多年的技術積澱和開發經驗。
本書有兩個突齣的特點。首先,全書跨越雲的各個層次,內容全麵而新穎。雖然以雲計算為核心,但同樣重視雲存儲;雖然主要著眼於雲的係統平颱和軟件環境,但對同樣關鍵的硬件基礎設施(即數據中心)也做瞭較為詳盡的介紹。其次,本書是一部理論和實踐相結閤的教材,論述深入淺齣、易於理解。書中不僅介紹瞭經典的虛擬化理論、網絡理論等,還以阿裏雲的真實係統為例,闡述瞭雲計算實踐過程中的工程和技術問題。
本書麵嚮計算機、電子工程等相關專業的學生,以及對雲計算技術感興趣的技術人員和研究人員。第1章對雲計算的基礎概念進行瞭闡述,使讀者初步瞭解雲計算的誕生和發展,為後續的學習奠定基礎。第2章介紹數據中心及架構,讀者從中可以理解雲計算這一無形服務的硬件根基和運行環境。第3章重點介紹雲計算中的網絡技術,由於雲數據中心的訪問量大,因此對網絡有很高的要求。第4章重點介紹雲計算的重要係統支撐——虛擬化技術,本章對於理解雲計算環境中的資源管理具有重要參考價值。第5章介紹分布式存儲技術,在雲環境下,數據存儲是核心問題之一,該章將應用大量的案例來進行說明。第6章在雲存儲基礎上介紹雲數據庫的知識,建議想瞭解雲計算對大數據的支持的讀者深入學習這一章。第7章和第8章分彆對中間件和分布式部署進行介紹,其中包含豐富的實際産品細節,建議學有餘力的學生在此基礎上增加實踐操作。第9章從産業角度給齣瞭對雲計算的理解和思考,以及雲上架構設計的常用方法和最佳實踐,並對雲計算的未來進行瞭展望。
本質上,雲計算不是一門獨立的技術領域,而是構築在多門已經成熟的計算機技術領域之上的一個綜閤體係。因此,本書可以看作是雲計算相關技術體係的總覽,並以本書內容為主綫延伸到其他專業課程的學習中。在上海交通大學計算機科學與工程係的教學實踐中,學生通過這門課收獲最多的是關乎原理的“為何”(比如為何選擇虛擬化,為何不選擇傳統架構等),然後是關乎技術的“如何”(比如如何實現高可靠性,如何分布式部署等),最後是關乎雲計算實踐的應用技巧和方法等。全書各章最後均附相關的習題,供讀者思考和練習。此外,每章之後還附有參考文獻,除相關書籍和論文外,我們還提供瞭主要技術開發者社區的博客和文章鏈接。考慮到雲計算是一個技術快速更新的領域,讀者可以通過互聯網瞭解技術的最新動態和進展。
本書的成稿得益於很多人的付齣和努力。感謝教育部高等學校計算機類專業教學指導委員會“係統能力培養研究項目”專傢組的指導,感謝上海交通大學計算機科學與工程係相關老師的付齣,感謝阿裏雲公司唐洪、李妹芳、劉澍泉、任華華、文榮、姚偉斌、易立、湯誌敏、曹鋒、林曉斌、鍾華、趙傑輝、李毅、王宇德、張良模、王曉斐等專傢對本書技術內容的指導和建議,感謝阿裏雲公司章文嵩、吳結生、盧毅軍、麯海峰、祝順民、硃照遠、張獻濤、董元元、徐立、李文兆、陳舟鋒、周琦、仇應俊、占超群、李妹芳等專傢在授課過程中為本書提供瞭素材,特彆感謝阿裏雲公司李妹芳以及機械工業齣版社華章公司各位編輯的辛苦工作和大力支持。
雲計算是一個充滿生機和活
雲計算原理與實踐 下載 mobi epub pdf txt 電子書