云原生模式

云原生模式

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

云原生模式:指导应用程序在云环境中健壮成长的架构设计书籍。

内容简介

拥抱“云”,更多指的是如何设计你的应用程序,而不是你在哪里部署它们。《云原生模式 》一书是一本指导如何开发出健壮的应用程序的指南,这些应用程序可以在动态的、分布式、虚拟的云世界中茁壮成长。本书介绍了云原生应用程序的思维模型,以及支持其构建的模式、实践和工具。在这本书中,你会发现一些实际的例子和专家建议,它们可以帮助你开发应用程序、数据、服务、路由等等。从根本上说,这是一本架构方面的书,其中包含了支持架构设计的相关代码示例。你会发现,我经常会在书中提到当前模式与我们过去做事方式之间的差异。不过,你并不需要拥有以往架构模式的经验或者知识。因为我不仅讨论了模式本身,而且还讨论了它们的动机,以及应用它们时上下文环境之间的细微差别,所以不管你在软件行业工作了多少年,都应该能够从中发现重要的价值。

作者简介

Cornelia Davis 是 Pivotal 公司的技术副总裁,她负责为 Pivotal 公司和 Pivotal 公司的客户制定技术战略。目前,她正在研究如何将各种云计算模型(基础设施即服务、应用程序即服务、容器即服务和函数即服务 ) 整合到一个全面的产品中,使 IT 组织能够在层面上运行。Cornelia 在图像处理、科学可视化、分布式系统和 web 应用程序架构,以及云原生平台方面有超过 30 年的经验。Cornelia 拥有加州州立大学北岭分校的计算机科学本科和硕士学位,并在印第安纳大学进一步研究了计算机原理和编程语言。因为内心一直想当一名老师,所以 Cornelia 在过去的 30 年里,一直致力于开发更好的软件,以及培养更好的软件开发人员。空闲的时候,Cornelia 更喜欢瑜伽锻炼和烹饪。

张若飞,曾任多家互联网金融公司CTO,在宜人贷、雅虎北研、金山云等知名公司担任架构师。十余年互联网研发及技术管理经验,对搭建海量数据、大型分布式系统有丰富经验。著有十余本技术译著,包括《Grails权威指南》《给大忙人看的JavaSE 8》《代码不朽:编写可维护软件的十大原则》《面向可伸缩架构》《云原生Java》等书,总计400余万字。

章节目录

封面

版权信息

内容简介

译者序

前言

致谢

关于本书

关于作者

关于封面插画

云原生应用程序的各种模式

第1部分 云原生上下文

1 什么是“云原生”

1.1 现代应用程序的需求

1.1.1 零停机时间

1.1.2 缩短反馈周期

1.1.3 移动端和多设备支持

1.1.4 互联设备(物联网)

1.1.5 数据驱动

1.2 云原生软件简介

1.2.1 定义“云原生”

1.2.2 云原生软件的思维模型

1.2.3 云原生软件实战

1.3 云原生与世界和平

1.3.1 云和云原生

1.3.2 什么不是云原生

1.3.3 云原生的价值

小结

2 在生产环境中运行云原生应用程序

2.1 面临的困难

2.1.1 碎片化的变化

2.1.2 有风险的部署

2.1.3 认为变化是例外

2.1.4 生产环境的不稳定性

2.2 解决办法

2.2.1 持续交付

2.2.2 可重复性

2.2.3 安全部署

2.2.4 变化是一定的

小结

3 云原生软件平台

3.1 云(原生)平台的发展

3.1.1 从云计算开始

3.1.2 云原生的“拨号音”

3.2 云原生平台的核心原则

3.2.1 先聊聊容器

3.2.2 支持“不断变化”

3.2.3 支持“高度分布式”

3.3 人员分工

3.4 云原生平台的其他功能

3.4.1 平台支持整个软件开发生命周期

3.4.2 安全性、变更控制和合规性(管控功能)

3.4.3 控制进入容器的东西

3.4.4 升级与安全漏洞修补

3.4.5 变更控制

小结

第2部分 云原生模式

4 事件驱动微服务:不只是请求/响应

4.1 我们(通常)学习的是命令式编程

4.2 重新介绍事件驱动的计算

4.3 我的全球食谱

4.3.1 请求/响应

4.3.2 事件驱动

4.4 命令查询职责分离模式

4.5 不同的风格,相同的挑战

小结

5 应用程序冗余:水平伸缩和无状态

5.1 云原生应用程序会部署许多实例

5.2 云环境中的有状态服务

5.2.1 解耦单体程序并绑定到数据库

5.2.2 错误处理会话状态

5.3 HTTP会话和黏性会话

5.4 有状态服务和无状态应用程序

5.4.1 有状态服务是特殊的服务

5.4.2 让应用程序变得无状态

小结

6 应用程序配置:不只是环境变量

6.1 为什么要讨论配置

6.1.1 动态伸缩—增加和减少应用程序实例的数量

6.1.2 基础设施变化会导致配置变化

6.1.3 零停机时间更新应用程序配置

6.2 应用程序的配置层

6.3 注入系统/环境值

6.3.1 实际案例:使用环境变量进行配置

6.4 注入应用程序配置

6.4.1 配置服务器简介

6.4.2 安全方面的额外需求

6.4.3 实际案例:使用配置服务器的应用程序配置

小结

7 应用程序生命周期:考虑不断的变化

7.1 运维同理心

7.2 单实例应用程序生命周期和多实例应用程序生命周期

7.2.1 蓝/绿升级

7.2.2 滚动升级

7.2.3 并行部署

7.3 协调多个不同的应用程序生命周期

7.4 实际案例:密码轮换和应用程序生命周期

7.5 处理临时运行时环境

7.6 应用程序生命周期状态的可见性

7.6.1 实际案例:健康端点和探测

7.7 无服务器架构

小结

8 如何访问应用程序:服务、路由和服务发现

8.1 服务抽象

8.1.1 服务示例:用Google进行搜索

8.1.2 服务示例:我们的博客聚合器

8.2 动态路由

8.2.1 服务端负载均衡

8.2.2 客户端负载均衡

8.2.3 路由刷新

8.3 服务发现

8.3.1 Web的服务发现

8.3.2 服务发现和客户端负载均衡

8.3.3 Kubernetes中的服务发现

8.3.4 实际案例:使用服务发现

小结

9 交互冗余:重试和其他控制循环

9.1 请求重试

9.1.1 基本的请求重试

9.1.2 实际案例:简单的重试

9.1.3 重试:可能出了什么问题

9.1.4 创建一个重试风暴

9.1.5 实际案例:创建一个重试风暴

9.1.6 避免重试风暴:友好的客户端

9.1.7 实际案例:成为一个更友好的客户端

9.1.8 什么时候不需要重试

9.2 回退逻辑

9.2.1 实际案例:实现回退逻辑

9.3 控制循环

9.3.1 了解控制循环的类型

9.3.2 如何控制控制循环

小结

10 前沿服务:断路器和API网关

10.1 断路器

10.1.1 软件中的断路器

10.1.2 实现一个断路器

10.2 API网关

10.2.1 云原生软件中的API网关

10.2.2 API网关拓扑

10.3 服务网格

10.3.1 挎斗

10.3.2 控制平面

小结

11 故障排除:如同大海捞针

11.1 应用程序日志

11.2 应用程序度量指标

11.2.1 从云原生应用程序中获取指标

11.2.2 由云原生应用程序推送指标

11.3 分布式跟踪

11.3.1 跟踪器的输出

11.3.2 通过Zipkin组合跟踪轨迹

11.3.3 实现细节

小结

12 云原生数据:打破数据单体

12.1 每个微服务都需要一个缓存

12.2 从请求/响应到事件驱动

12.3 事件日志

12.3.1 实际案例:实现一个事件驱动的微服务

12.3.2 主题和队列的新特点

12.3.3 事件载荷

12.3.4 幂等性

12.4 事件溯源

12.4.1 到目前为止的旅程

12.4.2 真实来源

12.4.3 实际案例:实现事件溯源

12.5 我们只是介绍了一些皮毛

小结

封底

云原生模式是2020年由电子工业出版社出版,作者【美】CorneliaDavis(科妮莉亚·戴维斯)。

得书感谢您对《云原生模式》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
云数据中心网络架构与技术 电子书
由华为数据通信数字化信息开发部和数据通信架构与设计部联合编写 基于华为在全球范围的丰富商用交付经验 聚焦新一代网络技术的发展热点 聚集华为数据通信产品线的一线专家和技术人员的研发成果 提供性能高、体验优、组网强、应用很好创新解决方案 针对未来万物高速、实时互联的海量应用场景,为满足大变革时代全新的企业需求痛点,提供充分发挥AI算力的、业界领先的解决方案,介绍如何构建智简、弹性、开放的数据中心网络。
微服务设计原理与架构 电子书
本书共分为四大篇幅内容,包括:1.直面微服务篇,剖析微服务架构的基本特征、优势和劣势,并给出实施微服务架构的系统方法。2.服务建模篇,介绍服务建模的思路和方法,并从服务拆分和集成角度对服务模型进行重点展开。3.服务实现篇,介绍微服务架构涉及的基础组件、关键要素以及目前主流的技术实现体系。4.服务转型篇,包括对遗留系统进行微服务架构的改造方法以及对研发过程转型的讨论。
Spring源码深度解析(第2版) 电子书
一本实践与理论并重、广度与深度兼顾的Spring源码开发指南。
深入浅出Spring Boot 2.x 电子书
本书章节编排合理,深入浅出地阐述了Spring Boot 2.x的原理与应用,以及当今较为流行的微服务系统经常用到的技术及原理,内容通俗易懂。
微服务分布式构架开发实战 电子书
本书语言简洁,内容丰富,适合具备初级Java后端开发能力的开发人员,大中专相关专业师生,网站培训班学员,以前拥有单工程开发经验并且想尝试分布式微服务架构的人员。 · Java工程师 · 初级架构师 · 大中专院校相关专业师生 · Java培训班学员 · 独立开发者与自学读者