描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121421273
技术演进篇
第1部分 系统资源 2
第1章 操作系统 3
1.1 操作系统简介 3
1.1.1 主要功能 4
1.1.2 系统结构 5
1.2 CPU指令集原理 6
1.2.1 特权指令集和非特权指令集 6
1.2.2 保护模式及内核态、用户态 7
1.2.3 指令工作流程 8
1.3 内核 9
1.3.1 组成模块化 9
1.3.2 单内核 9
1.3.3 微内核 10
1.3.4 外内核 11
第2章 虚拟化 13
2.1 虚拟化概述 13
2.1.1 直接使用物理设备 13
2.1.2 虚拟化原理 14
2.2 虚拟化指令集 16
2.2.1 敏感指令集 17
2.2.2 虚拟化指令集的工作模式 17
2.3 虚拟化类型 20
2.3.1 全虚拟化 20
2.3.2 类虚拟化 21
2.3.3 硬件辅助虚拟化 22
2.4 虚拟化架构 24
2.4.1 裸金属架构 24
2.4.2 宿主模式架构 25
2.5 常见的虚拟化产品 25
2.5.1 VMware 25
2.5.2 Xen 26
2.5.3 KVM 26
2.5.4 QEMU 27
2.5.5 NEMU 28
2.5.6 Firecracker 28
2.5.7 VirtualBox 28
2.5.8 Libvirt 29
2.5.9 Vagrant 30
第3章 云计算 32
3.1 云计算概述 32
3.1.1 虚拟化的不足 32
3.1.2 云计算的特点 33
3.2 IaaS 34
3.2.1 云的部署模式 34
3.2.2 IaaS的主要功能 36
3.2.3 IaaS架构 36
3.2.4 云平台组织架构 37
3.2.5 OpenStack 39
3.2.6 云平台部署架构 41
3.3 PaaS 42
3.3.1 简介 43
3.3.2 核心功能 45
3.3.3 微软Azure 47
3.3.4 PaaS的优缺点 48
3.4 SaaS 49
第4章 容器 53
4.1 容器简介 53
4.1.1 容器技术的优缺点 53
4.1.2 大事记 54
4.2 基本技术 55
4.2.1 namespace 56
4.2.2 cgroup 59
4.2.3 rootfs 60
4.3 Docker 61
4.3.1 容器运行时 61
4.3.2 镜像 63
4.3.3 Docker总结 64
4.4 内核容器技术 64
4.4.1 Kata 64
4.4.2 Firecracker 65
4.4.3 gVisor 66
4.4.4 Unikernel 67
4.5 容器与虚拟机 68
4.6 容器与PaaS 69
第5章 容器编排 70
5.1 容器编排简介 70
5.1.1 大事记 70
5.1.2 Swarm与Kubernetes之争 71
5.1.3 容器编排工具的核心功能 73
5.2 Kubernetes 74
5.2.1 设计理念与特性 74
5.2.2 运行架构 76
5.2.4 API对象 80
5.3 容器编排与PaaS 90
5.4 Kubernetes企业级实战:OpenShift 91
5.5 实现有状态应用和无状态应用 91
5.5.1 无状态应用与有状态应用 92
5.5.2 从无状态应用到Severless 92
5.5.3 Kubernetes对有状态应用的管理 92
5.5.4 容器编排的终目标 93
第2部分 应用架构 95
第6章 应用架构概述 96
6.1 架构与框架的区别 97
6.2 狭义的和广义的应用架构 97
6.2.1 狭义的应用架构 97
6.2.2 广义的应用架构 98
6.3 应用架构的定义 98
6.4 应用架构的目标 99
第7章 主流架构 101
7.1 “4 1”架构视图 101
7.1.1 逻辑视图 102
7.1.2 开发视图 102
7.1.3 进程视图 102
7.1.4 物理视图 103
7.1.5 场景视图 103
7.2 ArchiMate 104
7.2.1 ArchiMate概述 104
7.2.2 业务层 106
7.2.3 应用层 106
7.2.4 技术层 107
7.3 TOGAF框架 109
第8章 架构详解 114
8.1 业务架构 114
8.1.1 业务场景 114
8.1.2 业务用例 115
8.1.3 业务实体 115
8.1.4 业务流程 116
8.2 应用架构 116
8.2.1 功能架构 117
8.2.2 数据架构 121
8.2.3 实现架构 124
8.3 基础架构 131
8.3.1 物理架构 131
8.3.2 运行架构 131
第9章 典型的应用架构模式 133
9.1 单体架构 133
9.1.1 单体架构的特点 133
9.1.2 功能架构 134
9.1.3 单体应用的数据优化 136
9.1.4 单体架构的优缺点 142
9.2 基于组件的架构 143
9.2.1 特性 144
9.2.2 微内核架构 145
9.2.3 两种基于组件的应用开发、运行框架 145
9.2.4 组件设计原则 146
9.3 分布式与SOA 148
9.3.1 分布式 148
9.3.2 SOA 150
第10章 微服务架构 160
10.1 微服务架构简介 160
10.1.1 微服务与应用 161
10.1.2 微服务架构与SOA 162
10.1.3 微服务架构与容器编排 162
10.1.4 微服务架构与组织架构 163
10.2 采用微服务架构的优势与难点 163
10.3 微服务架构详解 165
10.3.1 功能架构 165
10.3.2 实现架构 166
10.3.3 部署单元 167
10.4 设计原则 167
10.4.1 服务注册中心 167
10.4.2 API网关 168
10.4.3 跨服务通信 169
10.4.4 API设计 170
10.4.5 数据一致性处理 172
第11章 微服务框架 181
11.1 微服务架构与微服务框架 181
11.2 核心功能 182
11.2.1 服务注册发现 182
11.2.2 服务负载路由 183
11.2.3 统一配置 184
11.2.4 服务编排与弹性伸缩 184
11.2.5 流量管控 185
11.2.6 可观察运维 186
11.3 框架分类 188
11.3.1 业务处理框架 188
11.3.2 SDK框架 189
11.3.3 服务网格 190
第3部分 软件工程 195
第12章 应用设计 196
12.1 明确愿景 196
12.1.1 目标对象 197
12.1.2 度量价值 197
12.1.3 详细描述 198
12.1.4 上下文图 198
12.2 明确组织架构 200
12.3 顶层业务建模 201
12.3.1 概述 201
12.3.2 业务领域 202
12.3.3 业务场景 205
12.4 应用需求分析 209
12.4.1 概述 209
12.4.2 识别角色 210
12.4.3 业务实体 210
12.4.4 业务流程 212
12.5 应用设计建模 214
12.5.1 概述 214
12.5.2 圈定微服务 215
12.5.3 应用架构设计 216
12.6 领域驱动建模 218
12.6.1 分布式应用建模的痛点 219
12.6.2 DDD概述 219
12.6.3 DDD的优势 220
12.6.4 基本概念 221
12.6.5 实施步骤 229
12.6.6 DDD与应用设计 238
第13章 软件开发 240
13.1 瀑布模型 240
13.2 敏捷开发模型 242
13.2.1 敏捷宣言 243
13.2.2 Scrum 244
13.2.3 极限编程方法 245
第14章 开发运维一体化:DevOps 248
14.1 精益思想 248
14.1.1 起源 248
14.1.2 精益生产 249
14.1.3 精益原则 250
14.1.4 精益软件开发 251
14.1.5 价值探索 253
14.1.6 IT价值流 253
14.1.7 精益和敏捷 255
14.2 持续集成 255
14.2.1 原则 255
14.2.2 步骤 256
14.3 持续交付与持续部署 258
14.3.1 持续交付 258
14.3.2 持续部署 259
14.3.3 特性发布 263
14.4 DevOps与CI/CD 269
14.4.1 定义 270
14.4.2 原则与推广 271
14.4.3 三步工作法 272
14.5 测试 275
14.5.1 概述 275
14.5.2 功能性测试 277
14.5.3 非功能性测试 281
14.6 DevOps与敏捷开发、Kubernetes、微服务、应用架构模式的关系 283
第15章 SRE运维 286
15.1 SRE运维简介 286
15.1.1 SLA 287
15.1.2 运维的发展阶段 288
15.1.3 架构层次 288
15.2 监控 289
15.2.1 监控概述 289
15.2.2 多层监控 291
15.2.3 告警 292
15.3 日志 293
15.3.1 日志系统架构 293
15.3.2 日志的采集、汇总与展示 294
15.4 故障排查 295
15.4.1 具体步骤 295
15.4.2 监控检查 296
15.5 作业运行 296
第16章 数字化运营 298
16.1 数字化运营概述 298
16.1.1 运营数据 298
16.1.2 角色分类 299
16.1.3 用户画像 299
16.2 数据处理 300
16.2.1 数据采集 300
16.2.2 数据建模 301
16.2.3 数据分析 301
16.2.4 指标分析 302
16.3 反馈流程 303
16.4 验证模式 304
16.4.1 A/B测试 304
16.4.2 灰度发布 305
16.5 平台架构 306
16.5.1 运维数据平台 306
16.5.2 智能化运维 306
实践篇
第4部分 架构、应用落地与中台构建 310
第17章 云原生架构 311
17.1 云原生的定义 311
17.1.1 12因子应用 311
17.1.2 云原生架构的特征 313
17.1.3 CNCF对云原生的定义 314
17.1.4 本书对云原生的定义 315
17.2 关键技术 318
17.2.1 不可变基础设施(容器) 318
17.2.2 声明式编排(Kubernetes) 319
17.2.3 微服务架构(解耦性) 320
17.2.4 动态赋能(服务网格) 320
17.2.5 适应度函数(引导性) 320
17.2.6 领域驱动建模(统一模型) 321
17.2.7 CI/CD/CO 321
17.3 云原生应用的实现过程 322
第18章 应用落地实践 323
18.1 云原生化条件 323
18.1.1 团队能力建设 323
18.1.2 推荐引入云原生化的场景 324
18.1.3 不推荐引入云原生化的场景 326
18.2 演进式的流程 327
18.3 应用改造模式 328
18.3.1 双胞胎模式 328
18.3.2 绞杀者模式 328
18.3.3 修缮者模式 329
18.4 应用拆分原则 330
18.4.1 按业务能力拆分 330
18.4.2 按DDD子领域拆分 330
18.4.3 其他原则 332
18.5 API设计与治理 333
18.5.1 前后端分离 334
18.5.2 规范化API 334
18.5.3 并行或异步调用 336
18.5.4 业务聚合 336
18.6 应用状态分1
评论
还没有评论。