《分布式系统及云计算概论》
第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
第一篇 分布式系统第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
第二篇 云计算技术第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