更新时间:2024-01-22 18:21:46
封面
版权信息
内容简介
前言
第1章 微服务概述
1.1 微服务的概念
1.2 微服务与SOA
1.2.1 SOA的定义
1.2.2 微服务与SOA的异同点
1.2.3 服务调用设计
1.3 单体式架构
1.3.1 单体式架构概述
1.3.2 单体式架构的痛点
1.3.3 经典的MVC架构模式
1.4 微服务架构概述
1.4.1 微服务能解决的问题
1.4.2 微服务架构的特点
1.4.3 微服务架构的优势
1.5 微服务的挑战
1.5.1 使用微服务的难点
1.5.2 微服务不是银弹
第2章 微服务架构设计
2.1 微服务架构的难点
2.2 架构设计
2.2.1 了解什么才是架构
2.2.2 软件设计的3个阶段
2.2.3 软件架构的目的与方法
2.3 微服务的核心组件
2.3.1 微服务的远程调用方式
2.3.2 HTTP通信方法
2.3.3 服务的注册与发现
2.3.4 负载均衡
第3章 Spring Cloud相关组件
3.1 统一配置中心
3.1.1 配置中心的难点
3.1.2 Spring Cloud Config框架
3.1.3 集成消息总线
3.2 断路器
3.2.1 服务熔断
3.2.2 服务降级
3.2.3 线程隔离
3.2.4 请求合并
3.2.5 请求缓存
3.2.6 Hystrix注解
3.2.7 Hystrix控制台
3.3 健康监控
3.4 分布式链路跟踪
3.4.1 设计要素和术语
3.4.2 Spring Cloud Sleuth链路监控
第4章 契约测试
4.1 契约测试概述
4.2 契约测试与TDD
4.2.1 TDD的定义
4.2.2 TDD的价值
4.2.3 TDD的种类
4.2.4 契约测试也是TDD
4.3 契约测试与独立交付
4.3.1 独立交付
4.3.2 集成测试
4.3.3 真正的独立交付
4.4 契约测试的相关技术与用法实战
4.4.1 Mock测试
4.4.2 消费者驱动的契约测试Pact
4.4.3 Spring家族契约测试Spring Cloud Contract
4.4.4 服务提供者的契约测试Moscow
第5章 API网关
5.1 API网关的意义
5.2 API网关的职责
5.2.1 请求路由
5.2.2 请求过滤
5.2.3 服务治理
5.3 API网关的缺点
5.4 使用API网关认证身份
5.4.1 分清认证与授权
5.4.2 API网关是否需要管理授权
5.4.3 传统的Cookie和Session认证
5.4.4 基于JSON的令牌JWT
5.5 API网关技术实战
5.5.1 Zuul网关
5.5.2 Spring Cloud Gateway
5.5.3 Spring Security
5.5.4 Java-JWT
第6章 BFF用于前端的后端
6.1 回顾前后端分离发展史
6.1.1 日渐臃肿的前端
6.1.2 前端技术栈大爆发
6.1.3 前后端分离的必然性
6.1.4 分离后的挑战
6.2 BFF诞生
6.2.1 BFF的概念
6.2.2 BFF的适用场景
6.2.3 BFF模式
6.3 基于RESTful的BFF
6.4 基于GraphQL的BFF
6.4.1 GraphQL的概念
6.4.2 GraphQL在客户端的基本用法
6.4.3 GraphQL与Java集成
6.4.4 GraphQL与WebFlux集成
第7章 领域驱动设计
7.1 如何划分微服务