Spring Cloud Alibaba大型微服务架构项目实战(下册)
定 价:99 元
- 作者:十三
- 出版时间:2024/9/1
- ISBN:9787121486630
- 出 版 社:电子工业出版社
- 中图法分类:TP368.5
- 页码:332
- 纸张:
- 版次:01
- 开本:16开
本书重在引导读者体验真实的项目开发,围绕Spring Cloud Alibaba技术栈全面展开,兼顾相关技术的知识拓展,由浅入深,步步为营,对一个单体API项目进行拆解和微服务化,并从零到一落地一个功能完整、流程完善的微服务项目。本书的目标是让读者拥有完整且高质量的学习体验,远离“Hello World”项目,为技术深度的挖掘和薪水、职位的提升提供保障。本书分为13章。第1章主要介绍大型微服务架构实战项目,包括它的主要功能模块、从单体模式到前后端分离模式再到微服务架构模式的开发历程、微服务项目改造前的拆分思路、微服务架构实战项目的启动等注意事项。第2章至第8章主要介绍微服务架构项目的开发过程,介绍每个开发步骤、每个微服务模块的编码过程、每个微服务组件的整合,主要涉及的微服务组件是Nacos、OpenFeign和Spring Cloud LoadBalancer。第9章至第13章对实战的微服务架构项目进行补充,将Spring Cloud Gateway、Sentinel、Seata、Spring Cloud Sleuth、Zipkin等微服务组件整合到实战项目中,并对过程中遇到的问题进行复盘及处理。本书实战项目整合热门的微服务架构组件,手把手地教读者如何在实战中运用这些知识点,让读者掌握高阶的使用技巧,并且能够将其运用到实际生产项目中。本书的内容丰富,案例通俗易懂,几乎涵盖了目前Spring Cloud的全部热门组件,特别适合想要了解Spring Cloud热门组件及想搭建微服务系统的读者阅读。
韩帅,笔名十三,企业技术主管、CSDN博客专家、视频讲师。毕业于安徽省巢湖学院,具有多年一线开发经验,历任高级开发工程师、产品线后端负责人、技术部门主管等职位。熟练使用Java、SQL、Spring Boot、Vue等计算机语言和开发框架,有非常丰富的开发经验,同时也是开源项目的爱好者和贡献者。
第1章 大型微服务架构项目设计与实战 1
1.1 微服务架构实战项目详解 1
1.1.1 实战项目介绍 2
1.1.2 新蜂商城项目的开源历程 3
1.1.3 新蜂商城项目的功能及数据库设计 4
1.2 从单体项目到微服务架构项目的拆分思路 6
1.3 微服务架构实战项目源代码获取和项目启动 8
1.3.1 基础环境准备及微服务组件安装和配置 8
1.3.2 下载微服务架构实战项目的项目源代码 8
1.3.3 微服务架构实战项目的目录结构讲解 10
1.3.4 启动并验证微服务实例 13
1.4 微服务架构实战项目的功能演示 21
1.4.1 商城用户的注册与登录演示 21
1.4.2 把商品添加到购物车的功能演示 25
1.4.3 下单流程演示 28
1.4.4 后台管理系统的部分功能演示 32
1.5 微服务架构实战项目中接口的参数处理及统一结果响应 38
1.6 微服务架构实战项目打包和部署的注意事项 41
第2章 实战项目基础构建及公共模块引入 48
2.1 编码前的准备 48
2.2 搭建项目骨架 49
2.2.1 构建项目并整理依赖关系 49
2.2.2 编写测试代码 54
2.3 用户微服务编码 58
2.3.1 引入业务依赖 58
2.3.2 用户模块中的接口改造 60
2.3.3 用户微服务改造过程中遇到的问题总结 62
2.4 引入公共模块 64
2.5 用户微服务模块改造 66
2.6 OpenFeign编码暴露远程接口 71
2.7 远程调用Feign包应该如何设置 72
第3章 用户微服务编码实践及功能讲解 74
3.1 登录流程介绍 74
3.1.1 什么是登录 74
3.1.2 用户登录状态 75
3.1.3 登录流程设计 75
3.2 登录功能源代码介绍 78
3.3 token值处理及鉴权源代码介绍 80
3.4 用户微服务代码改造 83
3.4.1 引入Redis组件进行鉴权改造 83
3.4.2 用户微服务中登录代码及鉴权代码修改 86
3.5 网关层鉴权 88
3.5.1 在网关层引入Redis 88
3.5.2 鉴权的全局过滤器编码实现 89
3.5.3 功能测试 91
第4章 商品微服务编码实践及功能讲解 95
4.1 商品微服务模块介绍 95
4.1.1 商品分类管理模块介绍 95
4.1.2 商品管理模块介绍 99
4.2 创建商品微服务编码 103
4.3 商品微服务与用户微服务通信 108
4.3.1 为什么需要调用用户中心服务 109
4.3.2 商品微服务调用用户中心编码实践 110
4.3.3 功能测试 113
4.4 商品微服务编码 117
4.4.1 商品微服务代码改造 117
4.4.2 OpenFeign编码暴露远程接口 120
4.4.3 功能测试 121
4.5 改造过程中遇到的问题总结 124
4.5.1 问题1:循环依赖 124
4.5.2 问题2:缺少loadbalancer依赖 125
第5章 推荐微服务编码实践及功能讲解 126
5.1 推荐微服务主要功能模块介绍 126
5.1.1 轮播图管理模块介绍 126
5.1.2 商品推荐管理模块介绍 129
5.1.3 表结构设计 130
5.2 创建推荐微服务编码 133
5.3 推荐微服务编码 139
5.3.1 推荐微服务调用用户中心编码实践 139
5.3.2 推荐微服务编码 141
5.3.3 推荐微服务远程调用商品微服务编码实践 144
5.3.4 功能测试 147
第6章 用户微服务及商品微服务功能完善 151
6.1 增加商城用户的相关功能 151
6.1.1 商城用户模块介绍 151
6.1.2 商城用户功能模块编码 152
6.1.3 商城用户模块代码完善 154
6.1.4 OpenFeign编码暴露远程接口 158
6.1.5 商城用户鉴权功能测试 160
6.2 新增商城端网关模块 164
6.2.1 创建商城端网关newbee-mall-cloud-gateway-mall 164
6.2.2 商城端网关功能测试 168
6.3 商城首页数据的接口实现 170
6.3.1 商城首页的排版设计 171
6.3.2 首页接口的响应结果设计 172
6.3.3 业务层代码的实现 174
6.3.4 调用商品微服务进行数据的查询与封装 175
6.3.5 首页接口控制层代码的实现 177
6.3.6 首页接口网关配置 179
6.4 商城分类页面的接口实现 180
6.4.1 分类页面的接口响应数据 180
6.4.2 业务层代码的实现 182
6.4.3 分类页面数据接口控制层代码的实现 185
6.4.4 分类接口网关配置 187
6.5 商品列表和商品详情页面的接口实现 187
6.5.1 接口传参解析及返回字段定义 188
6.5.2 业务层代码的实现 191
6.5.3 控制层代码的实现 194
6.5.4 商品接口网关配置 197
6.6 商城端部分接口的功能测试 198
6.6.1 获取首页数据的接口测试 198
6.6.2 获取分类页面的数据接口测试 201
第7章 购物车微服务编码实践及功能讲解 205
7.1 购物车微服务主要功能介绍 205
7.1.1 购物车模块介绍 205
7.1.2 购物车模块表结构设计 206
7.2 创建购物车微服务模块 207
7.3 远程调用用户微服务及其他注意事项 212
7.4 购物车微服务编码 215
7.4.1 购物车微服务代码改造 216
7.4.2 网关模块配置 218
7.5 购物车微服务远程调用商品微服务编码实践 219
7.6 购物车微服务功能测试 222
7.7 OpenFeign编码暴露远程接口 226
第8章 订单微服务编码实践及功能讲解 228
8.1 订单微服务主要功能模块介绍 228
8.1.1 订单模块介绍 228
8.1.2 订单模块的表结构设计 229
8.1.3 订单模块中的主要功能分析 234
8.1.4 订单处理流程及订单状态的介绍 239
8.2 创建订单微服务模块 242
8.3 订单微服务编码 243
8.4 订单微服务远程调用商品微服务和购物车微服务编码实践 246
8.5 订单微服务功能测试 252
8.5.1 添加收货地址接口演示 253
8.5.2 生成订单接口演示 255
8.5.3 订单列表接口演示 256
第9章 Spring Cloud Gateway聚合Swagger接口 259
9.1 为什么要聚合Swagger 259
9.2 网关层聚合Swagger的实现思路 260
9.3 网关层聚合Swagger编码 263
第10章 微服务架构实战项目中整合Seata 268
10.1 实战项目中整合Seata编码实践 268
10.2 “分支事务不回滚”问题的复盘 271
10.2.1 发现问题 271
10.2.2 尝试解决问题 271
10.2.3 分析问题产生的原因 272
10.2.4 查看源代码并确定问题所在 273
10.2.5 解决问题 275
第11章 微服务架构实战项目中整合Sentinel 278
11.1 实战项目中整合Sentinel编码实践 278
11.2 “Sentinel控制台页面中的微服务数据空白”问题的处理 280
11.2.1 错误的解决思路 280
11.2.2 正确的解决思路 282
第12章 微服务架构实战项目中整合Seluth、Zipkin 291
12.1 整合Spring Cloud Sleuth编码实践 291
12.2 在全局异常处理类中增加日志 305
12.3 整合Zipkin实践 307
第13章 微服务架构实战项目中整合ELK日志中心 311
13.1 微服务架构项目中的日志输出配置 311
13.2 通过Kibana查询日志 314
13.2.1 查看日志 314
13.2.2 日志定时刷新 315
13.2.3 常用的日志搜索条件 316
13.2.4 根据traceId搜索日志 317