雲計算(第2版)

雲計算(第2版)

《雲計算(第2版)》是2011年電子工業出版社出版的圖書,作者是劉鵬。 《雲計算(第2版)》是中國電子學會雲計算專家委員會劉鵬教授主編的系統講授雲計算技術的專業圖書,重點闡述了雲計算領域具有代表性的Google、Amazon、微軟和VMware四家公司的雲計算技術原理和套用方法,並詳細分析了以Hadoop、Eucalyptus為代表的眾多開源雲計算系統和雲計算仿真器CloudSim,綜述了雲計算領域的理論研究熱點問題。

內容簡介

《雲計算(第2版)》強化了可操作性,給出了大量套用實例、編程方法或實驗步驟等。本書主要內容包括:Google的GFS、MapReduce、Bigtable、Chubby、Megastore、Dapper和App Engine等;Amazon的Dynamo、EC2、S3、SQS、SimpleDB和CloudFront等;微軟的Windows Azure、SQL Azure、App Fabric等;VMware的vSphere、vCenter等,開源雲計算技術的Hadoop、Eucalyptus、Cassandra、Hive、VoltDB等。讀者可從本書配套網站中國雲計算(http://www-chinacloud-cn)獲取更多資料和求解疑難問題。 本書緊跟雲計算的發展前沿,既有理論深度,又有實用價值,可作為高校教材使用,也可作為雲計算研發人員和愛好者的學習和參考資料。

《雲計算》分為四大部分:第一部分為理論篇,主要介紹雲計算理論方面的知識;第二部分為產品與技術篇,深入剖析多個頂尖雲計算產品的實現,介紹了雲計算中非常重要的系統虛擬化技術和安全方面的機制;第三部分為實踐篇,將選擇雲的核心模組之一——分散式資料庫作為實踐的方向,並以YunTable這個雲時代的BigTable為例,給大家演示如何手動編寫和設計一個分散式資料庫;最後一部分為展望篇,預測了雲計算和整個科技事業未來的發展。

圖書目錄

目 錄

第1章 緒論 1

1.1 雲計算的概念 1

1.2 雲計算發展現狀 3

1.3 雲計算實現機制 5

1.4 格線計算與雲計算 6

1.5 雲計算的發展環境 9

1.5.1 雲計算與3G 9

1.5.2 雲計算與物聯網 9

1.5.3 雲計算與移動網際網路 10

1.5.4 雲計算與三網融合 11

1.6 雲計算壓倒性的成本優勢 12

習題 15

參考文獻 15

第2章 Google雲計算原理與套用 17

2.1 Google檔案系統GFS 17

2.1.1 系統架構 18

2.1.2 容錯機制 20

2.1.3 系統管理技術 20

2.2 分散式數據處理MapReduce 21

2.2.1 產生背景 21

2.2.2 編程模型 22

2.2.3 實現機制 22

2.2.4 案例分析 24

2.3 分散式鎖服務Chubby 25

2.3.1 Paxos算法 26

2.3.2 Chubby系統設計 27

2.3.3 Chubby中的Paxos 29

2.3.4 Chubby檔案系統 31

2.3.5 通信協定 32

2.3.6 正確性與性能 34

2.4 分散式結構化數據表Bigtable 35

2.4.1 設計動機與目標 35

2.4.2 數據模型 36

2.4.3 系統架構 37

2.4.4 主伺服器 38

2.4.5 子表伺服器 39

2.4.6 性能最佳化 42

2.5 分散式存儲系統Megastore 43

2.5.1 設計目標及方案選擇 44

2.5.2 Megastore數據模型 44

2.5.3 Megastore中的事務及並發控制 46

2.5.4 Megastore基本架構 47

2.5.5 核心技術——複製 49

2.5.6 產品性能及控制措施 52

2.6 大規模分散式系統的監控基礎架構Dapper 54

2.6.1 基本設計目標 54

2.6.2 Dapper監控系統簡介 54

2.6.3 關鍵性技術 57

2.6.4 常用Dapper工具 58

2.6.5 Dapper使用經驗 60

2.7 Google應用程式引擎 62

2.7.1 Google App Engine簡介 62

2.7.2 應用程式環境 63

2.7.3 Google App Engine服務 65

2.7.4 Google App Engine編程實踐 72

習題 86

參考文獻 86

第3章 Amazon雲計算AWS 88

3.1 Amazon平台基礎存儲架構:Dynamo 88

3.1.1 Dynamo在Amazon服務平台的地位 88

3.1.2 Dynamo架構的主要技術 89

3.2 彈性計算雲EC2 97

3.2.1 EC2的主要特性 97

3.2.2 EC2基本架構及主要概念 97

3.2.3 EC2的關鍵技術 99

3.3.4 EC2安全及容錯機制 101

3.3 簡單存儲服務S3 102

3.3.1 基本概念和操作 102

3.3.2 數據一致性模型 104

3.3.3 S3安全措施 105

3.4 簡單佇列服務SQS 107

3.4.1 SQS基本模型 107

3.4.2 兩個重要概念 107

3.4.3 訊息 108

3.4.4 身份認證 109

3.5 簡單資料庫服務Simple DB 109

3.5.1 重要概念 110

3.5.2 存在的問題及解決辦法 112

3.5.3 Simple DB和其他AWS的結合使用 112

3.6 關係資料庫服務RDS 113

3.6.1 SQL和NoSQL資料庫的對比 113

3.6.2 RDS資料庫原理 114

3.6.3 RDS的使用 115

3.7 內容推送服務CloudFront 115

3.7.1 內容推送網路CDN 115

3.7.2 雲內容推送CloudFront 117

3.8 其他Amazon雲計算服務 119

3.8.1 快速套用部署Elastic Beanstalk和服務模板CloudFormation 119

3.8.2 雲中的DNS服務 Router 53 119

3.8.3 虛擬私有雲VPC 120

3.8.4 簡單通知服務SNS和簡單郵件服務SES 120

3.8.5 彈性MapReduce服務 120

3.8.6 電子商務服務DevPay、FPS和Simple Pay 122

3.8.7 Amazon執行網路服務 126

3.8.8 土耳其機器人 127

3.8.9 Alexa Web服務 128

3.9 AWS套用實例 129

3.9.1 線上照片存儲共享網站SmugMug 129

3.9.2 線上視頻製作網站Animoto 130

3.10 小結 131

習題 131

參考文獻 131

第4章 微軟雲計算Windows Azure 135

4.1 微軟雲計算平台 135

4.2 微軟雲作業系統Windows Azure 136

4.2.1 Windows Azure概述 136

4.2.2 Windows Azure計算服務 137

4.2.3 Windows Azure存儲服務 138

4.2.4 Windows Azure Connect 152

4.2.5 Windows Azure CDN 153

4.2.6 Fabric控制器 153

4.2.7 Windows Azure套用場景 155

4.3 微軟雲關係資料庫SQL Azure 157

4.3.1 SQL Azure概述 157

4.3.2 SQL Azure關鍵技術 158

4.3.3 SQL Azure套用場景 160

4.3.4 SQL Azure和SQL Server對比 162

4.4 Windows Azure AppFabric 163

4.4.1 AppFabric概述 163

4.4.2 AppFabric關鍵技術 164

4.5 Windows Azure Marketplace 167

4.6 微軟雲計算編程實踐 168

4.6.1 利用Visual Studio2010開發簡單的雲應用程式 168

4.6.2 向Windows Azure平台發布應用程式 170

習題 173

參考文獻 173

第5章 VMware雲計算 174

5.1 VMware雲產品簡介 174

5.1.1 VMware雲戰略三層架構 174

5.1.2 VMware vSphere架構 175

5.1.3 雲作業系統vSphere 176

5.1.4 底層架構服務vCloud Service Director 177

5.1.5 虛擬桌面產品VMware View 178

5.2 雲管理平台 vCenter 179

5.2.1 虛擬機遷移工具 179

5.2.2 虛擬機數據備份恢復工具 181

5.2.3 虛擬機安全工具 181

5.2.4 可靠性組件FT和HA 182

5.3 雲架構服務提供平台vCloud Service Director 182

5.3.1 創建虛擬數據中心和組織 183

5.3.2 網路的設計 184

5.3.3 目錄管理 184

5.3.4 計費功能 184

5.4 VMware的網路和存儲虛擬化 184

5.4.1 網路虛擬化 184

5.4.2 存儲虛擬化 186

習題 188

參考文獻 188

第6章 Hadoop:Google雲計算的開源實現 189

6.1 Hadoop簡介 189

6.2 Hadoop分散式檔案系統HDFS 190

6.2.1 設計前提與目標 190

6.2.2 體系結構 191

6.2.3 保障可靠性的措施 192

6.2.4 提升性能的措施 194

6.2.5 訪問接口 195

6.3 分散式數據處理MapReduce 196

6.3.1 邏輯模型 196

6.3.2 實現機制 196

6.4 分散式結構化數據表HBase 197

6.4.1 邏輯模型 198

6.4.2 物理模型 198

6.4.3 子表伺服器 199

6.4.4 主伺服器 199

6.4.5 元數據表 200

6.5 Hadoop安裝 200

6.5.1 在Linux系統中安裝Hadoop 200

6.5.2 在Windows系統中安裝Hadoop 208

6.6 HDFS使用 215

6.6.1 HDFS 常用命令 215

6.6.2 HDFS 基準測試 219

6.7 HBase安裝使用 219

6.7.1 HBase的安裝配置 219

6.7.2 HBase的執行 220

6.7.3 Hbase編程實例 221

6.8 MapReduce編程 223

6.8.1 矩陣相乘算法設計 223

6.8.2 編程實現 224

習題 226

參考文獻 226

第7章 Eucalyptus:Amazon雲計算的開源實現 228

7.1 Eucalyptus簡介 228

7.2 Eucalyptus技術實現 229

7.2.1 體系結構 229

7.2.2 主要構件 230

7.2.3 訪問接口 230

7.2.4 服務等級協定 231

7.2.5 虛擬組網 232

7.3 Eucalyptus安裝與使用 233

7.3.1 在Linux系統中安裝Eucalyptus 233

7.3.2 Eucalyptus配置和管理 236

7.3.3 Eucalyptus常用命令的示例和說明 238

習題 240

參考文獻 240

第8章 其他開源雲計算系統 241

8.1 簡介 241

8.1.1 Cassandra 241

8.1.2 Hive 242

8.1.3 VoltDB 242

8.1.4 Enomaly ECP 243

8.1.5 Nimbus 244

8.1.6 Sector and Sphere 245

8.1.7 abiquo 247

8.1.8 MongoDB 247

8.2 Cassandra 249

8.2.1 體系結構 249

8.2.2 數據模型 250

8.2.3 存儲機制 251

8.2.4 讀/寫刪過程 252

8.3 Hive 254

8.3.1 整體構架 254

8.3.2 數據模型 255

8.3.3 HQL語言 257

8.3.4 環境搭建 259

8.4 VoltDB 260

8.4.1 整體架構 260

8.4.2 自動數據分片技術 261

習題 264

參考文獻 264

第9章 雲計算仿真器CloudSim 265

9.1 CloudSim簡介 265

9.2 CloudSim體系結構 265

9.2.1 CloudSim核心模擬引擎 266

9.2.2 CloudSim層 268

9.2.3 用戶代碼層 271

9.3 CloudSim技術實現 271

9.4 CloudSim的使用方法 274

9.4.1 環境配置 274

9.4.2 運行樣例程式 274

9.5 CloudSim的擴展 277

9.5.1 調度策略的擴展 277

9.5.2 仿真核心代碼 280

9.5.3 平台重編譯 286

習題 287

參考文獻 287

第10章 雲計算研究熱點 288

10.1 雲計算體系結構研究 288

10.1.1 Youseff劃分方法 288

10.1.2 Lenk劃分方法 290

10.2 雲計算關鍵技術研究 292

10.2.1 虛擬化技術 292

10.2.2 數據存儲技術 293

10.2.3 資源管理技術 295

10.2.4 能耗管理技術 298

10.2.5 雲監測技術 301

10.3 編程模型研究 303

10.3.1 All-Pairs編程模型 303

10.3.2 GridBatch編程模型 304

10.3.3 其他編程模型 305

10.4 支撐平台研究 306

10.4.1 Cumulus:數據中心科學雲 306

10.4.2 CARMEN:e-Science雲計算 307

10.4.3 RESERVOIR:雲服務融合平台 308

10.4.4 TPlatform:Hadoop的變種 309

10.4.5 P2P環境的MapReduce 309

10.4.6 Yahoo雲計算平台 311

10.4.7 微軟的Dryad框架 311

10.4.8 Neptune框架 312

10.5 套用研究 313

10.5.1 語義分析套用 313

10.5.2 生物學套用 314

10.5.3 資料庫套用 315

10.5.4 地理信息套用 316

10.5.5 商業套用 317

10.5.6 醫學套用 318

10.5.7 社會智慧型套用 319

10.6 雲安全研究 321

10.6.1 Anti-Spam Grid:反垃圾郵件格線 321

10.6.2 CloudAV:終端惡意軟體檢測 323

10.6.3 AMSDS:惡意軟體簽名自動檢測 324

10.6.4 CloudSEC:協作安全服務體系結構 325

習題 327

參考文獻 327

第11章 總結與展望 332

11.1 主流商業雲計算解決方案比較 332

11.1.1 套用場景 332

11.1.2 使用流程 334

11.1.3 體系結構 335

11.1.4 實現技術 335

11.1.5 核心業務 336

11.2 主流開源雲計算系統比較 338

11.2.1 開發目的 338

11.2.2 體系結構 339

11.2.3 實現技術 340

11.2.4 核心服務 340

11.3 國內代表性雲計算平台比較 341

11.3.1 中國移動“大雲” 341

11.3.2 阿里巴巴“阿里雲” 343

11.3.3 “大雲”與“阿里雲”的比較 343

11.4 雲計算的歷史坐標與發展方向 344

11.4.1 網際網路發展的階段劃分 344

11.4.2 雲格(Gloud)——雲計算的未來 346

習題 348

參考文獻 349

相關詞條

熱門詞條

聯絡我們