内容简介
本书通过实际示例展示了在使用不同设计模式时可能遇到的关键挑战。本书的主要内容有:学习云原生应用程序的基础知识。探索云原生架构中的核心通信、连接与组合模式。学习分布式数据管理技术。运用事件驱动架构构建分布式、可扩展的云原生应用程序。探索API管理与使用的常用模式。了解构建云原生系统所需的工具与技术。
目录
目录
前言 1
第1 章 云原生概述 5
11 什么是云原生 5
111 微服务化架构设计 6
112 使用容器化与容器编排 10
113 开发生命周期的自动化 15
114 动态管理 16
12 构建云原生应用程序的方法论 17
121 应用程序设计 18
122 应用程序开发 19
123 连接、组合与API 21
124 开发、发布与部署的自动化 22
125 运行动态环境中 22
126 用于动态管理的控制平面 23
127 可观测性与监控 23
13 云原生应用程序设计模式 24
131 通信模式 24
132 连接与组合模式 25
133 数据管理模式 26
134 事件驱动架构模式 26
135 流处理模式 26
136 API 管理与使用模式 27
14 云原生应用程序参考架构 27
15 小结 29
第2 章 通信模式 31
21 同步消息模式 31
211 请求– 响应模式 32
212 远程过程调用模式 33
213 同步消息模式总结 37
22 异步消息模式 37
221 单接收者模式 38
222 多接收者模式 40
223 异步请求– 应答模式42
224 异步消息模式总结 44
23 服务定义模式 44
231 同步通信中的服务定义 44
232 异步通信中的服务定义 47
24 实现同步消息模式的技术 50
241 RESTful 服务 50
242 GraphQL 51
243 WebSocket 53
244 gRPC 54
245 同步消息技术总结 55
25 实现异步消息模式的技术 55
251 AMQP55
252 Kafka 56
253 NATS 56
26 测试 57
27 安全 57
28 可观测性与监控 58
29 DevOps 58
210 小结 59
第3 章 连接与组合模式 61
31 连接模式61
311 服务连接模式 62
312 服务抽象模式 65
313 服务注册与发现模式68
314 弹性连接模式 71
315 边车模式 77
316 服务网格模式 81
317 无边车服务网格模式85
318 实现服务连接模式的相关技术 88
319 连接模式总结 89
32 服务组合模式 90
321 服务编排模式 91
322 服务协奏模式 93
323 Saga 模式 96
324 实现服务组合模式的相关技术 100
325 服务组合模式总结 100
33 小结 101
第4 章 数据管理模式 103
41 数据架构103
42 数据分类与形态 105
43 数据存储106
431 关系型数据库 106
432 NoSQL 数据库 107
433 文件系统存储 110
434 数据存储总结 111
44 数据管理 111
441 集中式数据管理 111
442 分散式数据管理 112
443 混合式数据管理 113
444 数据管理总结 114
45 数据组合模式 114
451 数据服务模式 116
452 组合数据服务模式 118
453 客户端混搭模式 120
454 数据组合模式总结 122
46 数据扩展模式 123
461 数据分片模式 123
462 命令与查询职责分离模式 128
463 数据扩展模式总结 131
47 性能优化模式 132
471 物化视图模式 133
472 数据本地性模式 136
473 缓存模式 138
474 静态内容托管模式 145
475 性能优化模式总结 148
48 可靠性模式 149
481 事务模式 149
482 事务可靠性模式总结152
49 安全性:代客密钥模式 152
491 工作原理 153
492 代客密钥模式总结 154
410 数据管理模式的实现技术154
4101 关系型数据库管理系统 155
4102 Apache Cassandra 155
4103 Apache HBase 156
4104 MongoDB 156
4105 Redis 157
4106 Amazon DynamoDB 157
4107 Apache HDFS 158
4108 Amazon S3 158
4109 Azure Cosmos DB158
41010 Google Cloud Spanner 159
41011 技术总结 159
411 测试 161
412 安全 162
413 可观测性与监控 163
414 DevOps 164
415 小结 166
第5 章 事件驱动架构模式 167
51 事件驱动架构 168
511 精准一次处理 169
512 消息代理的分类 169
513 CloudEvents 170
514 事件格式 170
52 事件传递模式 170
521 生产者– 消费者模式171
522 发布– 订阅模式 174
523 即发即弃模式 177
524 存储转发模式 179
525 轮询模式 181
526 请求回调模式 183
527 事件传递模式总结 186
53 状态管理模式 187
531 事件溯源模式 187
532 状态管理模式总结 191
54 编排模式192
541 中介者模式 192
542 管道过滤器模式 195
543 优先级队列模式 197
544 编排模式总结 199
55 事件驱动架构的相关技术 200
551 Apache ActiveMQ200
552 RabbitMQ 201
553 Amazon SQS 201
554 Amazon SNS 202
555 Azure 事件网格 202
556 Azure 服务总线队列 202
557 Google 云发布/ 订阅 203
558 消息代理技术汇总 203
56 测试 205
57 安全 206
58 可观测性与监控 207
59 DevOps 208
510 小结 209
第6 章 流处理模式 211
61 什么是流 211
62 什么是流处理 211
63 流数据处理模式 212
631 转换模式 212
632 过滤器与阈值模式 215
633 窗口聚合模式 217
634 流连接模式 223
635 时间事件排序模式 227
636 机器学习器模式 230
637 流数据处理模式总结233
64 扩展性与性能优化模式 234
641 顺序车队模式 235
642 缓冲事件排序模式 240
643 结果修正模式 242
644 水位线模式 245
645 扩展性与性能优化模式总结 249
65 可靠性模式 249
651 重放模式 250
652 周期性快照状态持久化模式 252
653 双节点故障转移模式257
654 可靠性模式总结 259
66 可靠性模式的实现技术 260
661 Esper 260
662 Siddhi 261
663 ksqlDB 261
664 Apache Spark 262
665 Apache Flink 262
666 Amazon Kinesis 262
667 Azure Stream Analytics263
668 Google Dataflow 263
669 流处理技术总结 263
67 测试 264
68 安全 265
69 可观测性与监控 265
610 DevOps 266
611 小结 267
第7 章 API 管理与使用模式 269
71 API 管理模式 269
711 API 网关模式 270
712 API 微网关模式 275
713 服务网格边车作为API 网关模式 277
714 API 管理模式的实现技术 279
715 API 管理模式总结 279
72 API 使用模式 280
721 前端直接访问微服务模式 280
722 前端通过API 网关模式调用后端服务 281
723 前端后端模式 283
724 API 使用模式总结 285
73 小结 285
第8 章 云原生模式实践 287
81 构建在线零售系统 287
811 产品目录 287
812 订单管理 288
813 订单跟踪与预测 288
814 产品推荐 288
815 客户与合作伙伴管理288
82 构建高层架构 289
83 构建外部API 290
84 服务连接291
85 数据管理293
86 使用事件驱动架构 294
87 使用流处理 295
88 在云环境中实现动态管理 296
89 小结 298



















