华为 3 位大咖吐血整理出 600 多页 Spring 微服务架构设计
话不多说,直接上图
深入介绍 Spring Boot、Spring Cloud、Docker、 Mesos 和 Marathon 掌握响应式微服务设计原则,轻松构建大规模、可扩展的互联网级微服务。
学习目录
本书提供了实现大型响应式微服务的实用方法和指导原则,并通过示例全面讲解如何构建微服务。本书深入介绍了 Spring Boot、Spring Cloud、Docker、Mesos 和 Marathon,还会教授如何用 Spring Boot 部署自治服务,而无须使用重量级应用服务器,并介绍 Spring Cloud 框架的各项能力、如何使用 Docker 实现容器化,以及如何使用 Mesos 和 Marathon 抽象出计算资源和控制整个集群。
内容展示
第 1 章微服务揭秘 微服务是一种架构风格,也是一种针对现代业务需求的软件开发方法。微服务并非发明出来的,确切地说是从之前的架构风格演进而来的。
第 2 章相关架构风格和用例 微服务技术当前正是火热。与此同时,还有关于其他架构风格的讨论,比如无服务器架构。哪种架构风格更好呢?它们之间存在竞争关系吗?什么场景适合用微服务架构?使用微服务架构的最佳方式是什么?许多开发人员有类似的疑问。
第 3 章用 Spring Boot 构建微服务得益于强大的 Spring Boot 框架,开发微服务变得不那么枯燥乏味了。SpringBoot 框架使用 Java 语言开发生产就绪微服务。本章着重代码示例,从微服务理论转向具体实践。首先介绍 Spring Boot 框架,然后讨论如何用 Spring Boot 构建与前一章讲过的原则和特征相一致的 RESTful 微服务,最后介绍 Spring Boot 为开发生产就绪的微服务提供的一些特性。
第 4 章应用微服务概念微服务很好,但设计不当也会变得很糟糕。错误的理解和设计决策可能会引起误解,造成不可恢复的故障。本章会研究在实际项目中实现微服务的一些技术挑战,并提供一些准则来指导关键的设计决策,确保成功开发微服务应用,还会介绍一些解决方案和设计模式来消除针对微服务的一系列常见顾虑。
第 5 章微服务能力模型微服务能力模型的重要性有哪些呢?设计微服务并不像开发含 UI、业务逻辑和数据库的 Web 应用那么简单。后者对于简单的服务或者只处理少量微服务而言足够了。开发人员在开发大型微服务系统时通常需要考虑服务实现以外的问题。成功的微服务项目交付需要一系列相关生态系统的能力,确保这些前提条件到位非常重要,然而微服务实现不存在标准的参考模型。
注意:需要免费领取 spring 微服务设计的朋友,看我主页即可领取~
第 6 章微服务演进案例研究类似于 SOA,不同的组织会根据具体问题,以不同的方式阐释微服务架构。除非细致地研究过真实的复杂问题,否则难以理解微服务的那些概念。
本章会引入一个虚构的廉价航空公司 BrownField Airline(BF),探究如何将其从一个单体式客运销售和服务(PSS)应用向下一代微服务架构演进。本章会深入研究 PSS 应用,并在遵循上一章介绍的设计原则和实践方法的基础上,解释该应用从一个单体系统向一个基于微服务的架构迁移的挑战、方法和演进步骤。
第 7 章用 Spring Cloud 组件扩展微服务要管理互联网级微服务,仅有 Spring Boot 框架还不够,还需要更多能力。
Spring Cloud 项目拥有一整套专门的组件,可轻松实现这些能力。本章会详细介绍 Spring Cloud 项目中的各种组件,比如 Eureka、Zuul、Ribbon 和 Spring Config,并将这些组件放置在第 4 章介绍的微服务能力模型的相应位置。本章会演示如何使用 Spring Cloud 组件是对前一章开发的 BrownField 航空公司的 PSS 微服务系统进行扩展。
第 8 章微服务的日志管理和监控互联网级微服务部署的一大挑战是对每个微服务的日志记录和监控,这是由其高度分布式的特性决定的。通过关联不同微服务产生的日志来追踪端到端的事务十分困难。类似于单体应用,没有通用的工具可用于监控微服务。这一点很重要,尤其在实现采用了一系列技术开发的企业级微服务时(第 7 章讨论过)。
本章会探讨日志管理和监控在微服务部署中的必要性和重要性,还会进一步研究用一系列候选架构和技术来解决日志和监控问题时面临的各种挑战及解决办法。
第 9 章用 Docker 容器化微服务在微服务的上下文中,容器化部署好比锦上添花。通过包含底层的基础设施,容器化部署有助于微服务进一步实现自治,进而使微服务实现云中立。
本章介绍虚拟机镜像和微服务容器化部署的概念和两者之间的关联,然后介绍如何为 BrownField 航空公司 PSS 微服务系统构建 Docker 镜像,这些微服务都是用 Spring Boot 和 Spring Cloud 开发的,最后介绍如何在类生产环境中管理、维护和部署 Docker 镜像。
第 10 章用 Mesos 和 Marathon 扩 展容器化的微服务为了充分利用云环境的能力,Docker 化的微服务实例需能根据流量特征自动的扩容和缩容。但这引来了另外一个问题:如果有大量微服务,就很难手动管理几千个 Docker 化的微服务。这时必须有一个基础设施的抽象层和一个强大的容器编排平台来管理互联网级 Docker 化微服务的部署。
第 11 章微服务开发生命周期类似于软件开发生命周期,若想成功实现微服务架构,需要理解微服务开发生命周期。
本章以 BrownField 航空公司的 PSS 微服务为例,着重介绍微服务的开发流程和实践。此外,本章会阐述组建开发团队的最佳实践、开发方法论、自动化测试、微服务持续交付,这些都和 DevOps 实践相一致,最后会阐明微服务分布式治理方法中参考架构的重要性。
需要这份 Spring 微服务架构设计的朋友:
如何领取?
看我主页即可领取~
版权声明: 本文为 InfoQ 作者【Java~~~】的原创文章。
原文链接:【http://xie.infoq.cn/article/04dd7cd79d01bf9bbfed10d74】。未经作者许可,禁止转载。
评论