作品简介

拥抱“云”,更多指的是如何设计你的应用程序,而不是你在哪里部署它们。《云原生模式》是一本架构指南,指导你如何让应用程序在动态的、分布式的、虚拟的云世界中茁壮成长。本书介绍了云原生应用程序的多种思维模型,以及支持其构建的模式、实践和工具,同时提供了一些实际案例和专家建议,帮助你更好地开发和使用应用程序、数据、服务、路由等。本书分为两部分。第1部分定义了云原生的上下文环境,并展示了软件部署环境的特点。第2部分深入探讨了云原生模式,包括请求/响应、事件驱动、断路器等。无论你是否有云原生的开发经验,通过本书提供的众多模式,一定可以更好地理解和掌握云原生开发。

作者:

科妮莉亚·戴维斯(Cornelia Davis),是Pivotal公司的技术副总裁,她负责为Pivotal公司和Pivotal公司的客户制定技术战略。目前,她正在研究如何将各种云计算模型(基础设施即服务、应用程序即服务、容器即服务和函数即服务)整合到一个全面的产品中,使IT组织能够在最高层面上运行。

Cornelia在图像处理、科学可视化、分布式系统和web应用程序架构,以及云原生平台方面有超过30年的经验。Cornelia拥有加州州立大学北岭分校的计算机科学本科和硕士学位,并在印第安纳大学进一步研究了计算机原理和编程语言。

因为内心一直想当一名老师,所以Cornelia在过去的30年里,一直致力于开发更好的软件,以及培养更好的软件开发人员。

空闲的时候,Cornelia更喜欢瑜伽锻炼和烹饪。

译者:

张若飞,TGO会员,曾任易通贷CTO,宜人贷首席架构师,在雅虎北研、金山云、POLYCOM等公司担任架构师。十余年互联网研发及技术管理经验,管理过过百人的技术研发团队,对搭建海量数据、大型分布式系统有丰富经验,对互联网金融领域有广泛涉猎。著有十余本技术译著,包括《云原生Java:Spring Boot、Spring Cloud与Cloud Foundry弹性系统设计》《面向可伸缩架构》《代码不朽:编写可维护软件的十大则》《给大忙人看的JavaSE 8》《Grails指南》等书,总计300余万字。

作品目录

  • 内容简介
  • 译者序
  • 前言
  • 致谢
  • 关于本书
  • 关于作者
  • 关于封面插画
  • 云原生应用程序的各种模式
  • 第1部分 云原生上下文
  • 1 什么是“云原生”
  • 1.1 现代应用程序的需求
  • 1.2 云原生软件简介
  • 1.3 云原生与世界和平
  • 小结
  • 2 在生产环境中运行云原生应用程序
  • 2.1 面临的困难
  • 2.2 解决办法
  • 小结
  • 3 云原生软件平台
  • 3.1 云(原生)平台的发展
  • 3.2 云原生平台的核心原则
  • 3.3 人员分工
  • 3.4 云原生平台的其他功能
  • 小结
  • 第2部分 云原生模式
  • 4 事件驱动微服务:不只是请求/响应
  • 4.1 我们(通常)学习的是命令式编程
  • 4.2 重新介绍事件驱动的计算
  • 4.3 我的全球食谱
  • 4.4 命令查询职责分离模式
  • 4.5 不同的风格,相同的挑战
  • 小结
  • 5 应用程序冗余:水平伸缩和无状态
  • 5.1 云原生应用程序会部署许多实例
  • 5.2 云环境中的有状态服务
  • 5.3 HTTP会话和黏性会话
  • 5.4 有状态服务和无状态应用程序
  • 小结
  • 6 应用程序配置:不只是环境变量
  • 6.1 为什么要讨论配置
  • 6.2 应用程序的配置层
  • 6.3 注入系统/环境值
  • 6.4 注入应用程序配置
  • 小结
  • 7 应用程序生命周期:考虑不断的变化
  • 7.1 运维同理心
  • 7.2 单实例应用程序生命周期和多实例应用程序生命周期
  • 7.3 协调多个不同的应用程序生命周期
  • 7.4 实际案例:密码轮换和应用程序生命周期
  • 7.5 处理临时运行时环境
  • 7.6 应用程序生命周期状态的可见性
  • 7.7 无服务器架构
  • 小结
  • 8 如何访问应用程序:服务、路由和服务发现
  • 8.1 服务抽象
  • 8.2 动态路由
  • 8.3 服务发现
  • 小结
  • 9 交互冗余:重试和其他控制循环
  • 9.1 请求重试
  • 9.2 回退逻辑
  • 9.3 控制循环
  • 小结
  • 10 前沿服务:断路器和API网关
  • 10.1 断路器
  • 10.2 API网关
  • 10.3 服务网格
  • 小结
  • 11 故障排除:如同大海捞针
  • 11.1 应用程序日志
  • 11.2 应用程序度量指标
  • 11.3 分布式跟踪
  • 小结
  • 12 云原生数据:打破数据单体
  • 12.1 每个微服务都需要一个缓存
  • 12.2 从请求/响应到事件驱动
  • 12.3 事件日志
  • 12.4 事件溯源
  • 12.5 我们只是介绍了一些皮毛
  • 小结
展开全部