接: https://pan.baidu.com/s/1p40HJgkUJgTf4ztkxGxKBg?pwd=t138 提取码: t138
出版社: 机械工业出版社
ISBN:9787111624127
版次:1
商品编码:12595796
品牌:机工出版
包装:平装
丛书名: 架构师书库
开本:16开
出版时间:2019-05-01
用纸:胶版纸
页数:455
播放视频
产品特色
编辑推荐
适读人群 :本书的重点是架构和开发,适合负责开发和交付软件的任何人(例如开发人员、架构师、 CTO等)阅读。示例代码使用Java语言和Spring框架
本书由世界十大软件架构师之一、微服务架构的先驱、Java开发者社区的意见领袖Chris Richardson亲笔撰写,旨在帮助架构师和程序员学会使用微服务架构成功开发应用程序。书中描述了如何解决我们将面临的众多架构设计挑战,包括如何管理分布式数据,还介绍了如何将单体应用程序重构为微服务架构,涵盖44个架构设计模式,系统解决服务拆分、事务管理、查询和跨服务通信等难题。本书并不是鼓吹微服务架构的宣言,作者既介绍了微服务的原理、原则,又详细讲解了实际落地中的架构设计模式,将使你理解微服务架构、它的好处和弊端,以及应该何时使用微服务架构。本书将帮助你建立微服务的全局视野,并学会在纷繁复杂的情况下做出正确的架构选择和取舍。
本书将教会你如何开发和部署生产级别的微服务架构应用。这套宝贵的架构设计模式建立在数十年的分布式系统经验之上,Chris还为开发服务添加了新的模式,并将它们组合成可在真实条件下可靠地扩展和执行的系统。本书不仅仅是一个模式目录,还提供了经验驱动的建议,以帮助你设计、实现、测试和部署基于微服务的应用程序。
本书包含:
●如何(以及为什么)使用微服务架构
●服务拆分的策略
●事务管理和查询相关的模式
●高效的测试策略
●包括容器和Serverless在内的部署模式
本书专为熟悉标准企业应用程序架构的开发人员编写,使用Java语言和Spring框架编写所有示例代码。
内容简介
成功地开发基于微服务架构的应用软件,需要掌握一系列全新的架构思想和实践。在这本独特的书籍中,世界十大软件架构师之一、微服务架构先驱Chris Richardson收集、分类并解释了44个架构设计模式,这些模式用来解决诸如服务拆分、事务管理、查询和跨服务通信等难题。
本书的目标是让架构师和程序员学会使用微服务架构成功开发应用程序。
书中不仅讨论了微服务架构的好处,还描述了它们的弊端。读者将掌握如何在使用单体架构和使用微服务架构之间做出正确的权衡。
【谁应该阅读本书】
本书的重点是架构和开发,适合负责开发和交付软件的任何人(例如开发人员、架构师、CTO 等)阅读。
本书侧重于解释微服务架构的设计模式和其他概念。无论读者使用何种技术栈,我的目标都是让你们可以轻松读懂这本书。你只需要熟悉企业应用程序架构和设计的基础知识即可。特别是,需要了解三层架构、Web 应用程序设计、关系型数据库、使用消息和基于 REST 的进程间通信,以及应用程序安全性的基础知识等概念。本书的代码示例使用 Java 和 Spring 框架。为了充分利用它们,读者应该对 Spring 框架有所了解。
【本书内容安排】
本书由13章组成。
●第1章描述了所谓“单体地狱”的症状,当单体应用程序超出其架构时会出现这种问题,这可以通过采用微服务架构来规避。这一章还概述了微服务架构模式语言,这也是本书大部分内容的主题。
●第2章解释了为什么软件架构很重要,描述了可用于将应用程序分解为服务集合的模式,并解释了如何克服在此过程中遇到的各种障碍。
●第3章介绍了微服务架构中强大的进程间通信的几种模式,解释了为什么异步和基于消息的通信通常是最佳选择。
●第4章介绍如何使用 Saga 模式维护服务间的数据一致性。Saga 是通过传递异步消息的方式进行协调的一系列本地事务。
●第5章介绍如何使用领域驱动设计(DDD)的聚合和领域事件等模式为服务设计业务逻辑。
●第6章以第5章为基础,解释了如何使用事件溯源模式开发业务逻辑,事件溯源模式是一种以事件为中心的设计思路,用来构建业务逻辑和持久化领域对象。
●第7章介绍如何使用API组合模式或命令查询职责隔离(CQRS)模式,这两个模式用来实现查询分散在多个服务中的数据。
●第8章介绍了处理来自各种外部客户端请求的外部 API 模式,例如移动应用程序、基于浏览器的 JavaScript 应用程序和第三方应用程序。
●第9章是关于微服务自动化测试技术的两章中的第一章,介绍了重要的测试概念,例如测试金字塔,描述了测试套件中每种测试类型的相对比例,还展示了如何编写构成测试金字塔基础的单元测试。
●第10章以第9章为基础,描述了如何在测试金字塔中编写其他类型的测试,包括集成测试、消费者契约测试和组件测试等。
●第11章介绍了开发生产就绪服务的各个方面,包括安全性、外部化配置模式和服务可观测性模式。服务可观测性模式包括日志聚合、应用指标和分布式追踪。
●第12章介绍了可用于部署服务的各种部署模式,包括虚拟机、容器和 Serverless 模式。还介绍了使用服务网格的好处,服务网格是在微服务架构中处理服务间通信的一个网络软件层。
●第13章介绍了如何通过采用绞杀者(Strangler)模式逐步将单体架构重构为微服务架构,绞杀者模式是指以服务形式实现新功能,从单体中提取模块将其转换为服务。
在学习这些章节的过程中,读者将了解微服务架构的不同方面。
作者简介
克里斯·理查森(Chris Richardson)
世界十大软件架构师之一,《POJOS in Action》等技术名著的作者,也是著名开源项目 Cloud Foundry 和 Eventuate 的创始人。他的研究领域包括微服务架构设计、分布式数据管理、事件驱动的应用架构、领域驱动设计、持续交付、Spring 框架、Scala、NoSQL 数据库等。
喻勇
在技术圈驰骋多年,曾担任过微软技术布道师,VMware Cloud Foundry生态建设负责人,并有幸引领了国内容器技术的创业浪潮。目前定居加拿大,关注微服务架构、云原生应用等领域。
Chris与喻勇曾在VMware全球开发者关系团队共事多年,现在他们合作为国内企业客户提供微服务相关的咨询和培训服务,他们的中文网站是:www.chrisrichardson.cn
精彩书评
“全面概述了团队在转向微服务时面临的挑战,以及针对这些问题的、经过行业检验的解决方案。”
——Tim Moore,Lightbend
“系统性地阐述了一个重要的架构领域。”
——Simeon Leyzerzon,Excelsior Software
“一本可靠的手册,可以加快你迁移到这个基于云的现代架构的速度。”
——John Guthrie,Dell/EMC
“可帮你理解微服务方法并在现实生活中使用它。”
——Potito Coluccelli,Bizmatica Econocom
“喻勇翻译的这本书是近几年我所看到的众多论述微服务架构书籍中好的一本。该书围绕微服务