书籍详情
微服务与容器
作者:帕敏德·辛格·科克 著,任发科 译
出版社:人民邮电出版社
出版时间:2020-02-01
ISBN:9787115527479
定价:¥59.00
购买这本书可以去
内容简介
本书是关于微服务和容器的实用指南。全书分为3部分,共13章。第一部分系统介绍微服务,包括微服务的概念、什么类型的组织适合转换到微服务、进程间通信、微服务的迁移与实现、将单体应用迁移到微服务等内容;第二部分讲述容器,具体包括Docker容器的概念、Docker安装、Docker接口、容器连网、容器编排、容器管理等知识点;第三部分提供一个功能完整的Helpdesk服务示例,帮助读者学以致用,进一步掌握微服务和容器的具体应用。本书内容丰富,既适合微服务相关从业人员和容器开发人员阅读,也适合希望在生产环境中高效使用Docker的开发人员参考。
作者简介
帕敏德·辛格·科克(Parminder Singh Kocher)有20 年构建企业级软件系统的经验,他自2005 年就在思科工作,目前是思科网络学院平台的工程总监。他领导工程团队开发学院下一代平台,该平台可以在超过180个国家访问和使用。他还管理思科的管理服务(CMS)平台并作为创新布道者领导多个软件团队。
目录
目 录
第一部分 微服务
第1章 微服务概览 3
1.1 什么是微服务 3
1.2 模块化架构 7
1.3 微服务的其他优点 8
1.4 微服务的缺点 9
第2章 转换到微服务 11
2.1 疲劳与属性 11
2.2 组织的学习曲线 12
2.3 微服务的商业案例 14
2.4 成本构成 15
第3章 进程间通信 19
3.1 交互的类型 19
3.2 准备编写Web服务 20
3.3 微服务的维护 21
3.4 发现服务 21
3.4.1 API网关 22
3.4.2 服务注册中心 23
3.5 融会贯通 23
第4章 微服务的迁移与实现 27
4.1 转换的必要性 27
4.2 使用微服务创建新应用 29
4.2.1 组织的准备情况 29
4.2.2 基于服务的方式 30
4.2.3 进程间(服务与服务)通信 30
4.2.4 技术选型 31
4.2.5 实现 31
4.2.6 部署 32
4.2.7 运维 32
4.3 将单体应用迁移到微服务 33
4.3.1 微服务准则 34
4.3.2 重新架构服务 36
4.4 混合方式 37
第二部分 容器
第5章 Docker容器 41
5.1 虚拟机 41
5.2 容器 44
5.3 Docker架构和组件 45
5.4 Docker的力量:一个简单示例 48
第6章 Docker安装 51
6.1 在Mac OS X上安装Docker 51
6.2 在Windows上安装Docker 56
6.3 在Ubuntu Linux上安装Docker 57
第7章 Docker接口 61
7.1 关键Docker命令 61
7.1.1 docker search 61
7.1.2 docker pull 63
7.1.3 docker images 64
7.1.4 docker rmi 65
7.1.5 docker run 65
7.1.6 docker ps 67
7.1.7 docker logs 68
7.1.8 docker restart 72
7.1.9 docker attach 73
7.1.10 docker rm 73
7.1.11 docker inspect 75
7.1.12 docker exec 76
7.1.13 docker rename 77
7.1.14 docker cp 78
7.1.15 docker pause/unpause 79
7.1.16 docker create 80
7.1.17 docker commit 81
7.1.18 docker diff 81
7.2 Dockerfile 82
7.3 Docker Compose 86
第8章 容器连网 89
8.1 关键Linux概念 89
8.2 互联 90
8.3 默认选项 93
8.3.1 none 94
8.3.2 host 94
8.3.3 bridge 96
8.4 自定义网络 99
8.4.1 自定义网桥网络驱动 100
8.4.2 重叠网络驱动 102
8.4.3 非重叠网络驱动和Macvlan 103
第9章 容器编排 105
9.1 Kubernetes 105
9.1.1 kubectl 106
9.1.2 主节点 106
9.1.3 工作节点 108
9.1.4 示例:Kubernetes集群 109
9.2 Apache Mesos和Marathon 110
9.2.1 Mesos主节点 111
9.2.2 代理 111
9.2.3 框架 112
9.2.4 示例:Marathon框架 112
9.3 Docker Swarm 113
9.3.1 节点 113
9.3.2 服务 113
9.3.3 任务 114
9.3.4 示例:Swarm集群 114
9.4 服务发现 116
9.5 服务注册中心 119
第10章 容器管理 121
10.1 监控 121
10.2 日志记录 122
10.3 指标收集 125
10.3.1 docker stats 125
10.3.2 API 126
10.3.3 cAdvisor 126
10.4 集群范围的监控工具 127
10.4.1 Heapster 127
10.4.2 Prometheus 127
第三部分 项目实战——学以致用
第11章 案例研究:单体Helpdesk应用 145
11.1 Helpdesk应用概览 145
11.2 应用架构 146
11.2.1 身份验证、拦截器和授权 147
11.2.2 账户管理 148
11.2.3 工单 151
11.2.4 产品目录 153
11.2.5 预约 156
11.2.6 留言板 158
11.2.7 搜索 160
11.3 构建应用程序 161
11.3.1 搭建Eclipse 161
11.3.2 构建应用 162
11.3.3 部署与配置 166
11.4 新需求和bug修复 168
第12章 案例研究:迁移到微服务 171
12.1 准备迁移 171
12.1.1 采用微服务准则 172
12.1.2 转换小结 173
12.1.3 对架构的影响 174
12.2 转换到微服务 174
12.2.1 产品目录 175
12.2.2 工单 177
12.2.3 搜索 178
12.3 应用构建和部署 179
12.3.1 代码设置 179
12.3.2 构建微服务 179
12.3.3 部署与配置 180
12.4 新需求与bug修复 183
第13章 案例研究:容器化Helpdesk应用 185
13.1 容器化微服务 185
13.1.1 列出依赖项 185
13.1.2 构建二进制文件和WAR文件 186
13.1.3 创建Docker镜像 186
13.1.4 构建Docker镜像 189
13.1.5 在AWS上搭建DC/OS集群 190
13.2 部署产品目录微服务 195
13.2.1 向Marathon提交一个任务 195
13.2.2 检查与扩展服务 198
13.2.3 访问微服务 200
13.3 更新单体应用 201
结语 203
附录A Helpdesk应用流 207
附录B 安装Solr搜索引擎 217
第一部分 微服务
第1章 微服务概览 3
1.1 什么是微服务 3
1.2 模块化架构 7
1.3 微服务的其他优点 8
1.4 微服务的缺点 9
第2章 转换到微服务 11
2.1 疲劳与属性 11
2.2 组织的学习曲线 12
2.3 微服务的商业案例 14
2.4 成本构成 15
第3章 进程间通信 19
3.1 交互的类型 19
3.2 准备编写Web服务 20
3.3 微服务的维护 21
3.4 发现服务 21
3.4.1 API网关 22
3.4.2 服务注册中心 23
3.5 融会贯通 23
第4章 微服务的迁移与实现 27
4.1 转换的必要性 27
4.2 使用微服务创建新应用 29
4.2.1 组织的准备情况 29
4.2.2 基于服务的方式 30
4.2.3 进程间(服务与服务)通信 30
4.2.4 技术选型 31
4.2.5 实现 31
4.2.6 部署 32
4.2.7 运维 32
4.3 将单体应用迁移到微服务 33
4.3.1 微服务准则 34
4.3.2 重新架构服务 36
4.4 混合方式 37
第二部分 容器
第5章 Docker容器 41
5.1 虚拟机 41
5.2 容器 44
5.3 Docker架构和组件 45
5.4 Docker的力量:一个简单示例 48
第6章 Docker安装 51
6.1 在Mac OS X上安装Docker 51
6.2 在Windows上安装Docker 56
6.3 在Ubuntu Linux上安装Docker 57
第7章 Docker接口 61
7.1 关键Docker命令 61
7.1.1 docker search 61
7.1.2 docker pull 63
7.1.3 docker images 64
7.1.4 docker rmi 65
7.1.5 docker run 65
7.1.6 docker ps 67
7.1.7 docker logs 68
7.1.8 docker restart 72
7.1.9 docker attach 73
7.1.10 docker rm 73
7.1.11 docker inspect 75
7.1.12 docker exec 76
7.1.13 docker rename 77
7.1.14 docker cp 78
7.1.15 docker pause/unpause 79
7.1.16 docker create 80
7.1.17 docker commit 81
7.1.18 docker diff 81
7.2 Dockerfile 82
7.3 Docker Compose 86
第8章 容器连网 89
8.1 关键Linux概念 89
8.2 互联 90
8.3 默认选项 93
8.3.1 none 94
8.3.2 host 94
8.3.3 bridge 96
8.4 自定义网络 99
8.4.1 自定义网桥网络驱动 100
8.4.2 重叠网络驱动 102
8.4.3 非重叠网络驱动和Macvlan 103
第9章 容器编排 105
9.1 Kubernetes 105
9.1.1 kubectl 106
9.1.2 主节点 106
9.1.3 工作节点 108
9.1.4 示例:Kubernetes集群 109
9.2 Apache Mesos和Marathon 110
9.2.1 Mesos主节点 111
9.2.2 代理 111
9.2.3 框架 112
9.2.4 示例:Marathon框架 112
9.3 Docker Swarm 113
9.3.1 节点 113
9.3.2 服务 113
9.3.3 任务 114
9.3.4 示例:Swarm集群 114
9.4 服务发现 116
9.5 服务注册中心 119
第10章 容器管理 121
10.1 监控 121
10.2 日志记录 122
10.3 指标收集 125
10.3.1 docker stats 125
10.3.2 API 126
10.3.3 cAdvisor 126
10.4 集群范围的监控工具 127
10.4.1 Heapster 127
10.4.2 Prometheus 127
第三部分 项目实战——学以致用
第11章 案例研究:单体Helpdesk应用 145
11.1 Helpdesk应用概览 145
11.2 应用架构 146
11.2.1 身份验证、拦截器和授权 147
11.2.2 账户管理 148
11.2.3 工单 151
11.2.4 产品目录 153
11.2.5 预约 156
11.2.6 留言板 158
11.2.7 搜索 160
11.3 构建应用程序 161
11.3.1 搭建Eclipse 161
11.3.2 构建应用 162
11.3.3 部署与配置 166
11.4 新需求和bug修复 168
第12章 案例研究:迁移到微服务 171
12.1 准备迁移 171
12.1.1 采用微服务准则 172
12.1.2 转换小结 173
12.1.3 对架构的影响 174
12.2 转换到微服务 174
12.2.1 产品目录 175
12.2.2 工单 177
12.2.3 搜索 178
12.3 应用构建和部署 179
12.3.1 代码设置 179
12.3.2 构建微服务 179
12.3.3 部署与配置 180
12.4 新需求与bug修复 183
第13章 案例研究:容器化Helpdesk应用 185
13.1 容器化微服务 185
13.1.1 列出依赖项 185
13.1.2 构建二进制文件和WAR文件 186
13.1.3 创建Docker镜像 186
13.1.4 构建Docker镜像 189
13.1.5 在AWS上搭建DC/OS集群 190
13.2 部署产品目录微服务 195
13.2.1 向Marathon提交一个任务 195
13.2.2 检查与扩展服务 198
13.2.3 访问微服务 200
13.3 更新单体应用 201
结语 203
附录A Helpdesk应用流 207
附录B 安装Solr搜索引擎 217
猜您喜欢