Spring微服务实战(第2版)
上QQ阅读APP看书,第一时间看更新

本书包含12章和3个附录。

第1章介绍微服务架构为什么是构建应用程序,尤其是基于云的应用程序的重要相关方法。

第2章介绍我们将使用的Spring云技术,并提供如何按照十二要素应用程序最佳实践构建云原生微服务的指南。本章还将介绍如何使用Spring Boot构建第一个基于REST的微服务。

第3章介绍如何通过架构师、应用工程师和DevOps工程师的角度来审视微服务,并提供在第一个基于REST的微服务中实现某些微服务最佳实践的指南。

第4章介绍容器,重点介绍容器和虚拟机之间的主要区别。本章还将介绍如何使用几个Maven插件和Docker命令来容器化微服务。

第5章介绍如何使用Spring Cloud Config管理微服务的配置。Spring Cloud Config可帮助确保服务的配置信息集中在单个存储库中,并且在所有服务实例中都是版本控制和可重复的。

第6章介绍服务发现路由模式。在这一章中,读者将学习如何使用Spring Cloud和Netflix的Eureka服务将服务的位置从客户的使用中抽象出来,还将学习如何使用Spring Cloud LoadBalancer和Netflix Feign客户端实现客户端负载均衡。

第 7 章讨论如何在一个或多个微服务实例关闭或处于降级状态时保护微服务的消费者。这一章将演示如何使用Spring Cloud和Resilience4j来实现断路器模式、后备模式和舱壁模式。

第8章介绍服务网关路由模式。使用Spring Cloud Gateway,我们将为我们的所有微服务建立一个单一入口点。我们将演示如何使用Spring Cloud Gateway的过滤器来构建可以针对流经服务网关的所有服务强制执行的策略。

第9章介绍如何使用Keycloak实现服务验证和授权。在本章中,我们将介绍OAuth2的一些基本原则,以及如何使用Spring和Keycloak来保护微服务架构。

第10章讨论如何使用Spring Cloud Stream和Apache Kafka将异步消息传递引入微服务。本章还介绍如何使用Redis进行缓存查找。

第11章介绍如何使用Spring Cloud Sleuth、Zipkin和ELK技术栈来实现日志关联、日志聚合和跟踪等常见的日志记录模式。

第12章是本书的基石项目。我们将使用在本书中构建的服务,将它们部署到亚马逊弹性Kubernetes服务(Amazon Elastic Kubernetes Service,Amazon EKS)。我们还将讨论如何使用Jenkins等工具自动构建和部署微服务。

附录A展示额外的微服务架构最佳实践,并解释Richardson成熟度模型。

附录B是OAuth2的补充资料。OAuth2是一种非常灵活的身份验证模型,这一附录简要介绍OAuth2可用于保护应用程序及其相应微服务的不同方式。

附录C介绍如何使用Spring Boot Actuator、Micrometer、Prometheus和Grafana等几种技术来监控Spring Boot微服务。

总体上看,开发人员应该阅读第1~3章,这3章提供了关于最佳实践和在Java 11中使用Spring Boot实现微服务的基本信息。对于Docker新手,我们强烈建议仔细阅读第4章,因为它简要介绍了全书中使用的所有Docker概念。

本书的其余部分讨论了几种微服务模式,如服务发现、分布式跟踪、API网关等。阅读本书的方法是按顺序阅读各章,并遵循各章的代码示例。