本书全面介绍Spring Cloud在微服务架构中提供的解决方案和基础组件,并结合实际开发场景,详细介绍如何利用Spring Cloud整合第三方框架进行Web开发。全书共11章,其中,第1章介绍微服务架构与Spring Cloud的基础知识;第2~10章介绍Spring Cloud的常用组件,包括服务注册中心Nacos、负载均衡组件Ribbon和Spring Cloud LoadBalancer、声明式服务调用组件OpenFeign、服务容错组件Sentinel、API网关Gateway、Nacos配置中心、消息驱动框架Spring Cloud Stream、分布式链路追踪组件Sleuth+Zipkin、分布式事务解决方案Seata;第11章通过搭建一个新闻资讯系统——黑马头条,带领读者搭建一个微服务架构系统。希望读者通过对本书的学习,能够学会Spring Cloud各个组件的用法,并掌握分布式微服务架构的搭建过程。
本书既可作为高等教育本、专科院校计算机相关专业的教材,也可作为编程人员的自学参考书。
1.知识合理。本书中对Spring Cloud微服务中过时的组件进行剔除,精准深入当前企业推荐的主流组件,注重知识的实用性。
2.内容详尽。本书中对Spring Cloud微服务中常用的各个组件都进行了深入的讲解,在知识讲解时以环环相扣的推进方式阐述出每个知识点的概念、作用,以及实际的应用,并将知识点分层次的讲解,提升学生复杂业务综合解决能力。
3.案例丰富。本书中对Spring Cloud的常用组件都整合第三方技术实现了对应的案例,案例步骤详细,配图合理,能够让读者身临其境感受企业应用开发。
4.沉浸式综合实战。本书的综合实战章节采用真实的新闻资讯系统,让读者切身感受真正的企业级项目开发流程。
5.配套资源丰富。本书附有源代码、习题、教学PPT、教学设计等资源.
第1章 微服务架构与Spring Cloud 1 1.1 微服务架构简介 1 1.1.1 系统架构的演变 2 1.1.2 微服务架构的特点 5 1.1.3 微服务架构的常见概念 6 1.1.4 常见的微服务框架 8 1.2 初识Spring Cloud 8 1.2.1 Spring Cloud概述 8 1.2.2 Spring Cloud核心组件和架构 9 1.3 Spring Cloud版本说明 11 1.4 本章小结 12 1.5 本章习题 12 第2章 Nacos的服务注册与发现 14 2.1 服务注册与发现机制 14 2.2 Nacos简介 16 2.2.1 Nacos概述 16 2.2.2 Nacos实现服务注册与发现的工作流程 17 2.3 Nacos实战入门 18 2.3.1 搭建Nacos服务端环境 18 2.3.2 搭建服务提供者 20 2.3.3 搭建服务消费者 25 2.4 Nacos服务端集群部署 28 2.5 Nacos健康检查机制 32 2.6 本章小结 34 2.7 本章习题 34 第3章 负载均衡组件 36 3.1 负载均衡概述 36 3.2 Ribbon概述 39 3.3 Ribbon入门案例 40 3.4 Spring Cloud LoadBalancer快速入门 48 3.5 本章小结 53 3.6 本章习题 53 第4章 声明式服务调用组件OpenFeign 55 4.1 OpenFeign概述 55 4.2 OpenFeign入门案例 57 4.3 OpenFeign工作原理 63 4.4 OpenFeign常见配置 69 4.4.1 超时控制配置 69 4.4.2 日志级别配置 71 4.4.3 数据压缩配置 75 4.5 本章小结 76 4.6 本章习题 76 第5章 服务容错组件Sentinel 78 5.1 服务容错概述 78 5.2 Sentinel简介 81 5.2.1 Sentinel概述 81 5.2.2 Sentinel控制台 82 5.3 Sentinel快速入门 84 5.4 Sentinel资源和规则的定义 90 5.4.1 Sentinel资源的定义 90 5.4.2 Sentinel规则的定义 93 5.5 Sentinel整合应用 97 5.6 本章小结 105 5.7 本章习题 105 第6章 API网关Gateway 107 6.1 API网关概述 107 6.2 Gateway概述 109 6.3 路由断言 111 6.3.1 内置路由断言工厂 111 6.3.2 路由断言入门案例 116 6.3.3 自定义路由断言工厂 121 6.4 过滤器 124 6.4.1 局部过滤器 125 6.4.2 全局过滤器 128 6.5 本章小结 131 6.6 本章习题 131 第7章 Nacos配置中心 133 7.1 配置中心概述 133 7.2 Nacos配置管理基础 136 7.3 命名空间管理和配置管理 138 7.4 Nacos配置的应用 144 7.5 自定义Data ID配置 149 7.6 本章小结 150 7.7 本章习题 150 第8章 消息驱动框架Spring Cloud Stream 152 8.1 Spring Cloud Stream概述 152 8.2 Spring Cloud Stream快速入门 155 8.3 Spring Cloud Stream的发布-订阅模式 158 8.4 消费组和消息分区 163 8.4.1 消费组 163 8.4.2 消息分区 166 8.5 本章小结 170 8.6 本章习题 170 第9章 分布式链路追踪 172 9.1 分布式链路追踪概述 172 9.2 Spring Cloud Sleuth概述 173 9.3 Zipkin概述 175 9.4 Sleuth整合Zipkin 178 9.5 基于RabbitMQ收集数据 190 9.6 持久化链路追踪数据 192 9.7 本章小结 196 9.8 本章习题 196 第10章 分布式事务解决方案Seata 198 10.1 分布式事务概述 198 10.2 Seata简介 204 10.2.1 Seata概述 205 10.2.2 Seata的事务模式 206 10.3 Seata服务搭建 209 10.4 Seata实现分布式事务控制 215 10.5 本章小结 226 10.6 本章习题 226 第11章 微服务实战——黑马头条 228 11.1 项目概述 228 11.1.1 项目功能介绍 228 11.1.2 项目功能预览 229 11.2 项目架构设计 233 11.3 项目开发准备工作 234 11.3.1 系统开发及运行环境 234 11.3.2 数据库准备 234 11.3.3 项目工程结构 235 11.4 自媒体端功能实现 239 11.4.1 自媒体人登录 239 11.4.2 创建对象存储服务 239 11.4.3 素材管理 239 11.4.4 发布文章 239 11.4.5 内容列表 240 11.5 用户端功能实现 240 11.5.1 用户登录 240 11.5.2 文章列表 241 11.5.3 文章详情 241 11.6 本章小结 242