商品参数
云原生模式 |
|
定价 |
109.00 |
出版社 |
电子工业出版社 |
版次 |
1 |
出版时间 |
2020年08月 |
开本 |
16开 |
作者 |
(美)Cornelia Davis(科妮莉亚·戴维斯) |
装帧 |
平塑 |
页数 |
396 |
字数 |
442000 |
ISBN编码 |
9787121389139 |
内容介绍
拥抱“云”,更多指的是如何设计你的应用程序,而不是你在哪里部署它们。本书是一本架构指南,指导你如何让应用程序在动态的、分布式的、虚拟的云SJ中茁壮成长。本书介绍了云原生应用程序的多种思维模型,以及支持其构建的模式、实践和工具,同时提供了一些实际案例和专家建议,帮助你更好地开发和使用应用程序、数据、服务、路由等。本书分为两部分。D 1 部分定义了云原生的上下文环境,并展示了软件部署环境的特点。D2 部分深入探讨了云原生模式,包括请求 / 响应、事件驱动、断路器等。无论你是否有云原生的开发经验,通过本书提供的众多模式,一定可以更好地理解和掌握云原生开发。
作者介绍
Cornelia Davis 是 Pivotal 公司的技术副z裁,她负责为 Pivotal 公司和 Pivotal 公司的客户制定技术战略。目前,她正在研究如何将各种云计算模型(基础设施即服务、应用程序即服务、容器即服务和函数即服务 ) 整合到一个全面的产品中,使 IT 组织能够在Z高层面上运行。Cornelia 在图像处理、科学可视化、分布式系统和 web 应用程序架构,以及云原生平台方面有超过 30 年的经验。Cornelia 拥有加州州立大学北岭分校的计算机科学本科和硕士学位,并在印D安纳大学进一步研究了计算机原理和编程语言。因为内心一直想D一名老师,所以 Cornelia 在过去的 30 年里,一直致力于开发更好的软件,以及培养更好的软件开发人员。空闲的时候,Cornelia 更喜欢瑜伽锻炼和烹饪。
张若飞,TGO会员,曾任易通贷CTO,宜人贷1席架构师,在雅虎北研、金山云、POLYCOM等公司担任架构师。十余年互联网研发及技术管理经验,管理过过百人的技术研发团队,对搭建海量数据、大型分布式系统有丰富经验,对互联网金融领域有广泛涉猎。著有十余本技术译著,包括《云原生Java:Spring Boot、Spring Cloud与Cloud Foundry弹性系统设计》《面向可伸缩架构》《代码不朽:编写可维护软件的十大则》《给大忙人看的JavaSE 8》《Grails指南》等书,z计300余万字。
关联推荐
那些需要Java或类似语言的中级编程技能的,或是需要一些服务器端开发经验的人。
目录
D1部分 云原生上下文
D1章 什么是“云原生”3
11 现代应用程序的需求 7
111 零停机时间 7
112 缩短反馈周期 8
113 移动端和多设备支持 8
114 互联设备(物联网) 9
115 数据驱动 9
12 云原生软件简介 10
121 定义“云原生” 10
122 云原生软件的思维模型 12
123 云原生软件实战 17
13 云原生与SJ和平 21
131 云和云原生 22
132 什么不是云原生 23
133 云原生的价值 24
小结 26
D2章 在生产环境中运行云原生应用程序 27
21 面临的困难 28
211 碎片化的变化 30
212 有风险的部署 31
213 认为变化是例外 35
214 生产环境的不稳定性 35
22 解决办法 36
221 持续交付 37
222 可重复性 41
223 安全部署 46
224 变化是一定的 49
小结 52
D3章 云原生软件平台53
31 云(原生)平台的发展 54
311 从云计算开始 54
312 云原生的“拨号音” 56
32 云原生平台的核心原则 59
321 先聊聊容器 60
322 支持“不断变化” 61
323 支持“高度分布式” 64
33 人员分工 68
34 云原生平台的其他功能 70
341 平台支持整个软件开发生命周期 70
342 安全性、变更控制和合规性(管控功能) 73
343 控制进入容器的东西 75
344 升级与安全漏洞修补 77
345 变更控制 79
小结 81
D2部分 云原生模式
D4章 事件驱动微服务:不只是请求/响应 85
41 我们(通常)学习的是命令式编程 86
42 重新介绍事件驱动的计算 88
43 我的quanqiu食谱 89
431 请求 / 响应 90
432 事件驱动 96
44 命令查询职责分离模式 106
45 不同的风格,相同的挑战 108
小结 110
D5章 应用程序冗余:水平伸缩和无状态 111
51 云原生应用程序会部署许多实例 113
52 云环境中的有状态服务 114
521 解耦单体程序并绑定到数据库 115
522 错误处理会话状态 119
53 HTTP会话和黏性会话 133
54 有状态服务和无状态应用程序 136
541 有状态服务是特殊的服务 136
542 让应用程序变得无状态 138
小结 143
D6章 应用程序配置:不只是环境变量144
61 为什么要讨论配置 145
611 动态伸缩 — 增加和减少应用程序实例的数量 146
612 基础设施变化会导致配置变化 146
613 零停机时间更新应用程序配置 148
62 应用程序的配置层 148
63 注入系统/环境值 153
631 实际案例 :使用环境变量进行配置 153
64 注入应用程序配置 162
641 配置服务器简介 163
642 安全方面的额外需求 171
643 实际案例 :使用配置服务器的应用程序配置 171
小结 174
D7章 应用程序生命周期:考虑不断的变化175
71 运维同理心 177
72 单实例应用程序生命周期和多实例应用程序生命周期 178
721 蓝 / 绿升级 182
722 滚动升级 183
723 并行部署 184
73 协调多个不同的应用程序生命周期 187
74 实际案例:密码轮换和应用程序生命周期 191
75 处理临时运行时环境 200
76 应用程序生命周期状态的可见性 202
761 实际案例 :健康端点和探测 207
77 无服务器架构 210
小结 212
D8章 如何访问应用程序:服务、路由和服务发现214
81 服务抽象 217
811 服务示例 :用 Google 进行搜索 218
812 服务示例 :我们的博客聚合器 220
82 动态路由 221
821 服务端负载均衡 221
822 客户端负载均衡 222
823 路由刷新 223
83 服务发现 226
831 Web 的服务发现 229
832 服务发现和客户端负载均衡 230
833 Kubernetes 中的服务发现 232
834 实际案例 :使用服务发现 234
小结 237
D9章 交互冗余:重试和其他控制循环238
91 请求重试 240
911 基本的请求重试 240
912 实际案例 :简单的重试 241
913 重试 :可能出了什么问题 246
914 创建一个重试风暴 247
915 实际案例 :创建一个重试风暴 248
916 避免重试风暴 :友好的客户端 259
917 实际案例 :成为一个更友好的客户端 259
918 什么时候不需要重试 265
92 回退逻辑 266
921 实际案例 :实现回退逻辑 266
93 控制循环 272
931 了解控制循环的类型 272
932 如何控制控制循环 273
小结 275
D10章 前沿服务:断路器和API网关277
101 断路器 279
1011 软件中的断路器 279
1012 实现一个断路器 282
102 API网关 294
1021 云原生软件中的 API 网关 296
1022 API 网关拓扑 297
103 服务网格 299
1031 挎斗 299
1032 控制平面 302
小结 304
D11章 故障排除:如同大海捞针305
111 应用程序日志 306
112 应用程序度量指标 310
1121 从云原生应用程序中获取指标 311
1122 由云原生应用程序推送指标 314
113 分布式跟踪 317
1131 跟踪器的输出 320
1132 通过 Zipkin 组合跟踪轨迹 323
1133 实现细节 328
小结 329
D12章 云原生数据:打破数据单体331
121 每个微服务都需要一个缓存 334
122 从请求/响应到事件驱动 337
123 事件日志 339
1231 实际案例 :实现一个事件驱动的微服务 341
1232 主题和队列的新特点 354
1233 事件载荷 358
1234 幂等性 360
124 事件溯源 361
1241 到目前为止的旅程 361
1242 真实来源 363
1243 实际案例 :实现事件溯源 365
125 我们只是介绍了一些皮毛 368
小结