《分布式系统及云计算概论》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陆嘉恒主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302244028
  • 页数:305 页
图书介绍:云计算是一个新兴的术语,很多技术还是处在起步阶段。本书从分布式系统的角度出发,系统地对云计算进行全面介绍。

第1章 绪论 1

1.1 分布式计算与分布式系统 1

1.1.1 分布式计算简介 1

1.1.2 分布式系统的实例 2

1.1.3 分布式系统的目标 4

1.2 云计算 5

1.2.1 简介 5

1.2.2 云计算的优点和缺点 7

1.3 本书概要 10

1.4 小结 12

习题 12

第一篇 分布式系统 15

第2章 分布式系统入门 15

2.1 分布式系统的定义 15

2.1.1 分布式与集中式 15

2.1.2 分布式与计算机网络 16

2.1.3 分布式系统层次结构 17

2.1.4 分布式系统分类 18

2.2 分布式系统中的软硬件 19

2.2.1 硬件 19

2.2.2 软件 20

2.3 分布系统中的主要特征 21

2.3.1 容错性 21

2.3.2 安全性 22

2.4 小结 23

习题 23

第3章 客户—服务器端架构 25

3.1 客户—服务器模式的基本概念和优点 25

3.1.1 客户—服务器模式的基本概念 25

3.1.2 客户—服务器模式优点 26

3.2 客户—服务器端架构和体系结构 26

3.2.1 面向连接服务与无连接服务 26

3.2.2 应用程序的层次结构 27

3.2.3 客户—服务器模型体系结构 29

3.3 客户—服务器模型的进程通信 32

3.3.1 进程通信中客户—服务器模型的实现方法 32

3.3.2 客户—服务器模型的进程通信协议 34

3.4 客户—服务器端模型的变种 37

3.4.1 移动代码 37

3.4.2 移动代理 38

3.4.3 网络计算机 39

3.4.4 瘦客户 40

3.4.5 移动设备和自组网络 40

3.5 小结 41

习题 42

第4章 分布式对象 43

4.1 分布式对象基本模型 43

4.1.1 远程对象 43

4.1.2 分布式共享对象 45

4.2 远程过程调用 45

4.2.1 RPC基本操作 46

4.2.2 参数传递 47

4.3 分布式计算环境的远程对象调用 49

4.3.1 远程对象调用 49

4.3.2 分布式计算环境 52

4.3.3 分布式计算环境的远程对象调用方式 53

4.4 Java远程方法调用 54

4.5 小结 56

习题 57

第5章 公共对象请求代理体系结构 58

5.1 CORBA基本概述 58

5.1.1 CORBA RMI概述 59

5.1.2 CORBA体系结构 60

5.1.3 CORBA接口定义语言 62

5.1.4 CORBA远程对象引用 66

5.2 CORBA的基本服务 67

5.2.1 CORBA命名服务 68

5.2.2 CORBA事件服务 70

5.2.3 CORBA通知服务 72

5.3 容错性和安全性 73

5.3.1 容错性 73

5.3.2 安全性 75

5.4 Java IDL语言 77

5.4.1 Java IDL映射 78

5.4.2 Java CORBA编程实现 82

5.5 小结 85

习题 85

第二篇 云计算技术 89

第6章 分布式云计算概述 89

6.1 云计算入门 89

6.1.1 云计算的定义 89

6.1.2 云计算的发展历史 90

6.1.3 云计算的优缺点 92

6.2 云服务 93

6.2.1 使用云平台的理由 93

6.2.2 云平台的服务类型 94

6.2.3 云平台服务的安全性 95

6.2.4 云平台服务的供应商 95

6.2.5 云平台服务的优势和面临的挑战 98

6.3 云计算比较 99

6.3.1 集群计算和云计算 99

6.3.2 网格计算和云计算 101

6.3.3 效用计算和云计算 103

6.3.4 并行计算、分布计算和云计算 104

6.4 小结 105

习题 106

第7章 Google公司的三大技术 107

7.1 Google文件系统 107

7.1.1 前言 107

7.1.2 设计概要 108

7.1.3 系统交互 112

7.1.4 主控服务器操作 113

7.1.5 容错和检测 114

7.2 Bigtable技术 115

7.2.1 Bigtable简介 115

7.2.2 Bigtable数据模型 116

7.2.3 API 117

7.2.4 Bigtable所依赖的框架 118

7.2.5 Bigtable实现的关键 119

7.2.6 Bigtable性能优化方案 122

7.2.7 Bigtable应用实例 125

7.2.8 经验总结 127

7.3 MapReduce技术 128

7.3.1 前言 128

7.3.2 编程模型 129

7.3.3 实例 129

7.3.4 输入输出类型 129

7.3.5 更多实例 130

7.3.6 执行概述 130

7.4 小结 132

习题 132

第8章 Yahoo!公司的云平台技术 134

8.1 什么是PNUTS——灵活通用的表存储平台 134

8.1.1 前言 134

8.1.2 PNUTS概述 135

8.1.3 PNUTS的设计和功能 136

8.1.4 PNUTS的系统结构 136

8.1.5 PNUTS的数据存储和检索 137

8.1.6 副本和一致性 138

8.1.7 其他数据库系统功能 140

8.1.8 数据库服务 141

8.2 Pig系统简述 141

8.2.1 Pig的定义 141

8.2.2 Pig简介 141

8.3 ZooKeeper系统简述 142

8.3.1 什么是ZooKeeper 142

8.3.2 ZooKeeper项目介绍 142

8.4 小结 143

习题 143

第9章 Aneka云平台技术 144

9.1 Aneka云平台 144

9.2 Aneka的架构 144

9.3 面向市场的云架构 146

9.4 Aneka:从企业网格到面向市场的云计算 148

9.4.1 Aneka云中面向市场的资源定价和分配 148

9.4.2 性能评估 150

9.4.3 高性能计算工作负载 150

9.5 小结 154

习题 154

第10章 Greenplum数据库技术 155

10.1 什么是Greenplum 155

10.2 Greenplum分析数据库 155

10.3 Greenplum数据库的体系结构 156

10.3.1 无共享大规模并行处理体系结构 156

10.3.2 Greenplum的分段单元服务 157

10.3.3 数据分布和并行扫描 157

10.3.4 容错能力和先进的复制技术 158

10.3.5 全局并行查询优化技术 159

10.3.6 gNet软件互联 159

10.3.7 并行数据流引擎 160

10.3.8 统一的分析处理 161

10.3.9 基于标准,建立在开源PostgreSQL数据库系统之上 161

10.4 Greenplum的关键特性和优点 161

10.5 小结 162

习题 162

第11章 Amazon公司的Dynamo技术 163

11.1 Dynamo初步介绍 163

11.2 Dynamo的背景资料 164

11.2.1 系统的假设和需求 164

11.2.2 服务层协议 165

11.2.3 设计考虑因素 166

11.3 Dynamo系统体系结构 167

11.3.1 系统接口 168

11.3.2 分割算法 168

11.3.3 复制 169

11.3.4 数据版本 170

11.3.5 Dynamo中的get()和put()的操作 172

11.3.6 临时性故障处理 172

11.3.7 处理永久的错误:同步复制 173

11.3.8 成员关系和故障检测 173

11.3.9 增加删除存储结点 174

11.4 小结 175

习题 175

第12章 IBM公司的云计算技术 176

12.1 IBM公司的云计算概述 176

12.2 云风暴 177

12.3 智能商业服务 178

12.4 智慧地球计划 178

12.5 Z系统 179

12.6 虚拟化的动态基础架构技术 180

12.6.1 虚拟化 181

12.6.2 虚拟化的云计算技术 182

12.6.3 实现虚拟化策略的关键解决方案 183

12.7 小结 186

习题 186

第三篇 分布式云计算的程序开发第13章 基于Hadoop系统的开发 189

13.1 Hadoop系统概述 189

13.1.1 Hadoop系统由来 189

13.1.2 Apache Hadoop项目 190

13.1.3 Hadoop的优势 191

13.2 Hadoop分布式文件系统 191

13.2.1 HDFS体系结构 192

13.2.2 文件系统的命名空间 193

13.2.3 HDFS数据复制 193

13.3 MapReduce编程 194

13.3.1 MapReduce概述 194

13.3.2 MapReduce核心 198

13.3.3 任务执行和执行环境 200

13.3.4 作业的提交与监控 203

13.3.5 作业的输入输出 203

13.3.6 MapReduce特性 205

13.4 编程实例 208

13.5 小结 211

习题 212

第14章 基于HBase系统的开发 213

14.1 HBase介绍 213

14.2 HBase数据模型 213

14.2.1 概念视图 214

14.2.2 物理视图 214

14.2.3 子表:域 215

14.3 HBase体系结构和功能 216

14.3.1 HBase Master 216

14.3.2 HRegion Server 217

14.3.3 HBase Client 217

14.4 HBase编程 218

14.5 小结 219

习题 220

第15章 基于Google App Engine系统的开发 221

15.1 Google App Engine简介 221

15.1.1 Google App Engine基本功能 221

15.1.2 Google App Engine环境配置 223

15.1.3 Google App Engine资源配额 225

15.2 如何使用Google App Engine 225

15.2.1 Google App Engine Java SDK使用 226

15.2.2 Google App Engine Python SDK使用 240

15.3 基于Google App Engine的应用程序开发实例 246

15.4 小结 251

习题 251

第16章 基于Windows Azure系统的开发 253

16.1 微软公司的云计算概述 253

16.1.1 微软公司的云计算战略 253

16.1.2 微软公司的动态云计算解决方案 254

16.2 Windows Azure平台简介 257

16.2.1 Windows Azure 258

16.2.2 SQL Azure 261

16.2.3 .NET服务 263

16.3 Windows Azure服务使用 265

16.3.1 Windows Azure环境配置 266

16.3.2 开发GuestBook应用程序 266

16.3.3 发布GuestBook应用程序 277

16.4 小结 279

习题 280

附录A Hadoop MapReduce在线测试平台 281

技术名词索引 288

参考文献 294

后记 304