分布式系统常用技术及案例分析 第2版PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:柳伟卫编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2019
- ISBN:7121356773
- 页数:541 页
第1章 分布式系统基础知识 1
1.1概述 2
1.1.1什么是分布式系统 2
1.1.2集中式系统与分布式系统 2
1.1.3如何设计分布式系统 4
1.1.4分布式系统所面临的挑战 4
1.2线程 5
1.2.1什么是线程 5
1.2.2进程和线程 6
1.2.3线程和纤程 7
1.2.4编程语言中的线程对象 7
1.2.5 SimpleThreads示例 11
1.3通信 13
1.3.1网络I/O模型的演进 13
1.3.2远程过程调用(RPC) 28
1.3.3面向消息的通信 35
1.4一致性 38
1.4.1以数据为中心的一致性模型 38
1.4.2以客户为中心的一致性 39
1.5容错性 40
1.5.1基本概念 41
1.5.2故障分类 41
1.5.3使用冗余来掩盖故障 42
1.5.4分布式提交 42
1.6 CAP理论 46
1.6.1什么是CAP理论 47
1.6.2为什么CAP只能三选二 48
1.6.3 CAP常见模型 49
1.6.4 CAP的意义 50
1.6.5 CAP最新发展 50
1.7安全性 51
1.7.1基本概念 52
1.7.2加密算法 54
1.7.3安全通道 57
1.7.4访问控制 66
1.8并发 68
1.8.1线程与并发 69
1.8.2并发与并行 69
1.8.3并发带来的风险 70
1.8.4同步(Synchronization) 72
1.8.5原子访问(Atomic Access) 77
1.8.6无锁化设计提升并发能力 78
1.8.7缓存提升并发能力 78
1.8.8更细颗粒度的并发单元 79
第2章 分布式系统架构体系 80
2.1基于对象的体系结构 81
2.1.1分布式对象 81
2.1.2 Java RMI 82
2.2面向服务的架构(SOA) 85
2.2.1 SOA的基本概念 86
2.2.2基于Web Services的SOA 88
2.2.3 SOA的演变 103
2.3 REST风格的架构 103
2.3.1什么是REST 103
2.3.2 REST有哪些特征 104
2.3.3 Java实现REST的例子 106
2.3.4 REST API最佳实践 116
2.4微服务架构(MSA) 119
2.4.1什么是MSA 119
2.4.2 MSA与SOA 121
2.4.3何时采用MSA 124
2.4.4如何构建微服务 125
2.5容器技术 129
2.5.1虚拟化技术 129
2.5.2容器与虚拟机 130
2.5.3基于容器的持续部署 132
2.6 Serverless架构 140
2.6.1什么是Serverless架构 141
2.6.2 Serverless典型的应用场景 142
2.6.3 Serverless架构原则 144
2.6.4例子:使用Serverless实现游戏全球同服 146
第3章 分布式消息服务 152
3.1分布式消息概述 153
3.1.1基本概念 153
3.1.2使用场景 153
3.1.3常用技术 154
3.2 Apache ActiveMQ 154
3.2.1例子:producer-consumer 154
3.2.2例子:使用JMX来监控ActiveMQ 155
3.2.3例子:使用Java实现producer-consumer 157
3.3 RabbitMQ 162
3.3.1例子:Work Queues 162
3.3.2例子:Publish/Subscribe 168
3.3.3例子:Routing 172
3.3.4例子:Topics 176
3.3.5例子:RPC 181
3.4 Apache RocketMQ 186
3.4.1例子:使用Java实现producer-consumer 189
3.4.2 RocketMQ最佳实践 193
3.5 Apache Kafka 198
3.5.1 Apache Kafka的核心概念 199
3.5.2 Apache Kafka的使用场景 202
3.6实战:基于JMS的消息发送和接收 203
3.6.1项目概述 203
3.6.2项目配置 205
3.6.3编码实现 209
3.6.4运行 215
第4章 分布式计算 221
4.1分布式计算概述 222
4.1.1使用场景 222
4.1.2常用技术 222
4.2 MapReduce 223
4.2.1 MapReduce简介 223
4.2.2 MapReduce的编程模型 223
4.2.3 MapReduce接口实现 228
4.2.4 MapReduce的使用技巧 234
4.3 Apache Hadoop 236
4.3.1 Apache Hadoop的核心组件 237
4.3.2例子:词频统计WordCount程序 238
4.4 Spark 240
4.4.1 Spark简介 240
4.4.2 Spark与Hadoop的关系 241
4.4.3 Spark 2.0的新特性 242
4.4.4 Spark集群模式 246
4.5 Mesos 248
4.5.1 Mesos简介 249
4.5.2设计高可用的Mesos framework 250
4.6实战:基于Spark的词频统计 257
4.6.1项目概述 257
4.6.2项目配置 257
4.6.3编码实现 258
4.6.4运行 259
第5章 分布式存储 262
5.1分布式存储概述 263
5.1.1使用场景 263
5.1.2常用技术 263
5.2 Bigtable 264
5.2.1 Bigtable的数据模型 264
5.2.2 Bigtable的实现 266
5.2.3 Bigtable的性能优化 270
5.3 Apache HBase 273
5.3.1 Apache HBase的基本概念 274
5.3.2 Apache HBase的架构 281
5.4 Apache Cassandra 296
5.4.1 Apache Cassandra简介 296
5.4.2 Apache Cassandra的应用场景 299
5.4.3 Apache Cassandra的架构和数据模型 300
5.4.4用于配置Apache Cassandra的核心组件 301
5.5 Memcached 302
5.5.1 Memcached简介 303
5.5.2 Memcached的架构 303
5.5.3 Memcached客户端 305
5.6 Redis 313
5.6.1 Redis简介 313
5.6.2 Redis的下载与简单使用 314
5.6.3 Redis的数据类型及抽象 314
5.7 MongoDB 334
5.7.1 MongoDB简介 334
5.7.2 MongoDB核心概念 335
5.7.3 MongoDB的数据模型 340
5.7.4示例:Java连接MongoDB 354
5.8实战:基于Redis的分布式锁 355
5.8.1项目概述 355
5.8.2项目配置 356
5.8.3编码实现 357
5.8.4运行 360
第6章 分布式监控 364
6.1分布式监控概述 365
6.1.1使用场景 365
6.1.2常用技术 365
6.2 Nagios 365
6.2.1 Nagios监控 366
6.2.2 Nagios插件 384
6.3 Zabbix 386
6.3.1 Zabbix对容器的支持 386
6.3.2 Zabbix的基本概念 389
6.4 Consul 399
6.4.1 Consul架构 400
6.4.2 Consul agent 401
6.5 ZooKeeper 411
6.5.1 ZooKeeper简介 411
6.5.2 ZooKeeper内部工作原理 415
6.5.3例子:ZooKeeper实现barrier和producer-consumer queue 419
6.6实战:基于ZooKeeper的服务注册和发现 426
6.6.1项目概述 426
6.6.2项目配置 427
6.6.3编码实现 428
6.6.4运行 433
第7章 分布式版本控制系统 435
7.1分布式版本控制系统概述 436
7.1.1集中式与分布式 436
7.1.2分布式版本控制系统的核心概念 437
7.2 Bazaar 437
7.2.1 Bazaar的核心概念 437
7.2.2 Bazaar的使用 438
7.3 Mercurial 443
7.3.1 Mercurial的核心概念 444
7.3.2 Mercurial的使用 447
7.4 Git 454
7.4.1 Git的基础概念 454
7.4.2 Git的使用 457
7.5 Git Flow——团队协作最佳实践 483
7.5.1分支定义 483
7.5.2新功能开发工作流 484
7.5.3 Bug修复工作流 485
7.5.4版本发布工作流 485
第8章 RESTful API、微服务及容器技术 487
8.1 Jersey 488
8.1.1 Jersey简介 488
8.1.2 Jersey的模块和依赖 488
8.1.3 JAX-RS核心概念 492
8.1.4例子:用SSE构建实时Web应用 503
8.2 Spring Boot 511
8.2.1 Spring Boot简介 512
8.2.2 Spring Boot的安装 513
8.2.3 Spring Boot的使用 518
8.2.4 Spring Boot的属性与配置 524
8.3 Docker 529
8.3.1 Docker简介 529
8.3.2 Docker的核心组成、架构及工作原理 529
8.3.3 Docker的使用 535
8.4实战:基于Docker构建、运行、发布微服务 537
8.4.1编写微服务 537
8.4.2微服务容器化 538
8.4.3构建Docker image 538
8.4.4运行image 540
8.4.5访问应用 541
8.4.6发布微服务 541
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《分析化学》陈怀侠主编 2019
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《中学语文教学案例研究》贺卫东主编 2019
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《行测资料分析》李永新主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017