获取资料

Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力

Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力

第1章 课程导学

本章演示整体项目,讲解微服务架构图,技术架构图以及系统功能模块图和技术架构拓扑图,之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。…

共 5 节 (25分钟)

1-1 课前必读

1-2 课程介绍与学习指南 (09:07)

1-3 项目介绍与演示[课前必知] (06:07)

1-4 项目微服务架构图[课前必知] (05:47)

1-5 项目技术架构图[课前必知] (03:29)

第2章 架构后端项目

本章我们先来一起探讨前后端分离的设计模式,启动运行前端项目(前端源码直接提供给大家),对于不同的域名会在本地通过host来模拟实现,之后会通过Maven构建聚合工程,搭建项目,配置日志以及多环境配置,优雅的封装返回结果集,配置整合MyBatis以及swagger2。…

共 12 节 (143分钟)

2-1 前后端分离设计模式探讨[项目构建] (05:48)

2-2 运行前端项目[项目构建] (07:22)

2-3 虚拟域名的绑定与使用 (11:12)

2-4 数据库选型与数据导入 (08:11)

2-5 构建顶级工程[聚合工程]-1 (19:28)

2-6 构建模块工程[聚合工程]-2 (20:04)

2-7 api接口暴露[聚合工程] (10:15)

2-8 配置logback日志与多环境profile[聚合工程] (09:33)

2-9 优雅的返回封装结果[构建项目] (12:11)

2-10 配置数据库逆向生成工具[构建项目] (11:04)

2-11 整合mybatis[构建项目] (14:54)

2-12 Swagger2接口文档工具的使用[构建项目] (12:54)

第3章 开发通行证服务

本章核心开发用户登录注册业务,带大家使用短信实现一键注册登录。教会大家如何使用流程图梳理业务流程,如何配置阿里云的短信服务(包括拦截控制)。在前后端分离模式和分布式开发中,如何结合Redis实现用户分布式会话,在Redis缓存方面你也会收获到双写一致以及CAP理论。…

共 28 节 (320分钟)

3-1 梳理短信登录注册流程 (08:42)

3-2 配置秘钥与资源文件[短信服务] (11:37)

3-3 整合并发送短信[短息服务] (16:52)

3-4 安装配置整合Redis-1 (14:06)

3-5 安装配置整合Redis-2 (06:58)

3-6 完善发送短信接口 (13:21)

3-7 联调前端发送短信,解决跨域问题 (06:37)

3-8 拦截并限制60秒用户短信发送 (11:48)

3-9 自定义异常,返回错误信息 (14:07)

3-10 验证BO信息[注册登录] (18:37)

3-11 查询老用户&新用户添加[注册登录]-1 (19:19)

3-12 查询老用户&新用户添加[注册登录]-2 (11:49)

3-13 设置会话与cookie信息[注册登录] (21:58)

3-14 资源属性与常量绑定 (04:44)

3-15 查询用户账户信息 (14:45)

3-16 信息校验[用户资料完善] (05:57)

3-17 postman测试接口[用户资料完善] (04:54)

3-18 激活用户信息入库[用户资料完善] (07:15)

3-19 查询并展示用户基本信息 (08:04)

3-20 浏览器存储介质localStorage, cookie, sessionStorage (08:37)

3-21 缓存用户信息 (14:41)

3-22 双写数据不一致的情况 (03:02)

3-23 缓存数据双写一致 (07:47)

3-24 CAP理论与数据一致性抉择 (17:05)

3-25 用户会话拦截器[拦截器] (13:17)

3-26 用户状态激活拦截器[拦截器] (08:54)

3-27 AOP警告日志监控与sql打印 (19:12)

3-28 退出登录&注销会话 (05:32)

第4章 开发文件服务

本章将带你依次掌握实现文件上传主流的两种方式:fastdfs+nginx和阿里云OSS,通过两者的学习,通过本章学习你就可以在自己的项目中自如的接入文件上传业务。

共 18 节 (186分钟)

4-1 FastDFS架构原理与上传下载流程解析 (10:47)

4-2 配置FastDFS环境准备工作[FastDFS] (08:22)

4-3 配置tracker服务[FastDFS] (03:54)

4-4 配置storage服务[FastDFS] (11:43)

4-5 安装Nginx提供web服务[FastDFS] (12:12)

4-6 整合Nginx实现文件服务器[FastDFS] (14:10)

4-7 创建文件服务module[文件上传] (13:44)

4-8 整合fdfs与service实现[文件上传] (07:43)

4-9 实现fastdfs图片存储[文件上传] (16:07)

4-10 完善用户头像上传[文件上传] (11:50)

4-11 图片大小控制的统一异常处理 (03:46)

4-12 第三方云存储解决方案[阿里OSS] (06:29)

4-13 阿里OSS介绍 (12:28)

4-14 控制台的基本配置使用[阿里OSS] (06:02)

4-15 SDK的使用与项目整合[阿里OSS] (16:33)

4-16 OSS整合实现文件上传[阿里OSS] (06:08)

4-17 图片自动审核[阿里内容安全] (16:30)

4-18 创建阿里云子账号[阿里内容安全] (07:25)

第5章 开发admin管理服务

本章核心带大家完成admin管理服务中的人脸/分类/友情链接等功能实现。先从maven构建子module开始,完成对admin表设计与预分配账号,对admin账户分片实现登录。揭秘人脸登录逻辑,使用gridfs解决人脸存储问题,分享阿里智能AI识别技术。最后完成友情链接与分类业务开发,教会大家mongodb核心操作。…

共 32 节 (307分钟)

5-1 构建admin服务 (07:14)

5-2 表设计与账号预分配[admin账号] (06:58)

5-3 持久层查询管理员[admin账号] (06:21)

5-4 用户名密码登录[admin账号] (14:22)

5-5 校验admin账号唯一[admin账号] (05:51)

5-6 创建admin账号[admin账号] (17:58)

5-7 查看admin列表[admin账号] (14:37)

5-8 封装分页数据&调试分页接口[admin账号] (08:23)

5-9 账号注销[admin账号] (05:45)

5-10 人脸业务流程图梳理[admin账号] (03:11)

5-11 Chrome开启视频调试模式 (05:18)

5-12 入门MongoDB (07:13)

5-13 MongoDB安装与配置使用 (11:48)

5-14 可视化管理工具[MongoDB] (08:41)

5-15 整合SpringBoot[GridFS] (09:48)

5-16 实现人脸入库[GridFS] (07:09)

5-17 查看admin人脸信息[GridFS]-1 (18:21)

5-18 查看admin人脸信息[GridFS]-2 (08:51)

5-19 阿里AI人脸识别介绍 (09:05)

5-20 获得人脸faceId[人脸登录] (06:57)

5-21 查询人脸数据[人脸登录] (04:49)

5-22 整合RestTemplate服务通信[人脸登录] (07:54)

5-23 实现人脸对比进行登录[人脸登录] (09:24)

5-24 MongoDB使用场景 (06:07)

5-25 友情链接保存与更新[MongoDB] (20:51)

5-26 Repository持久层操作保存记录[MongoDB] (13:21)

5-27 友情链接列表查询[MongoDB] (06:35)

5-28 友情链接删除[MongoDB] (04:18)

5-29 (作业)文章分类管理 (08:39)

5-30 查询用户列表&设置时间日期转换配置[用户管理] (13:00)

5-31 查询用户列表&实现service与联调[用户管理] (14:30)

5-32 查询用户账号&冻结与解封[用户管理] (13:01)

第6章 内容管理与AI自动审核

本章既是用户中心的核心业务模块,也是网站内容的核心,会先带大家梳理文章表结构,构建文章服务工程,结合summernote富文本实现文章编撰,实现多文件上传。结合Redis提速分类读取,实现文章的发布(定时),完成AI自动和人工审核(审核不通过需打回)。…

共 17 节 (159分钟)

6-1 梳理文章article表结构[文章服务] (07:00)

6-2 构建文章服务工程[文章服务] (07:30)

6-3 summernote与多文件上传需求[发头条] (09:23)

6-4 实现多文件上传[发头条] (10:27)

6-5 获得列表&业务接口解耦与Redis缓存应用[文章领域] (12:15)

6-6 admin端维护数据缓存[文章领域] (06:28)

6-7 发布文章入库Controller及验证[发头条] (17:09)

6-8 发布文章入库Service及联调[发头条] (12:27)

6-9 预览文章[发头条] (04:00)

6-10 构建定时任务 (08:26)

6-11 定时发布文章[定时任务] (11:38)

6-12 文章列表展示[内容管理] (19:56)

6-13 阿里AI文本检测[内容审核] (09:42)

6-14 实现阿里AI自动审核文章[内容审核] (12:00)

6-15 (作业)admin文章管理列表[内容审核] (01:45)

6-16 人工审核[内容审核] (05:47)

6-17 撤回&删除文章作业[内容管理] (02:39)

第7章 开发首页与作家页

本章核心完成首页和作家页面开发,包括文章列表的加载与展示,粉丝的关注与取关,重点Redis的单线程计数功能,粉丝画像数据可视化图片展示。

共 16 节 (147分钟)

7-1 首页&作者页面介绍[章节概述 ] (04:03)

7-2 根据MongoDB字段查询友情链接[首页] (07:30)

7-3 搜索并展示文章列表[首页] (14:47)

7-4 文章列表展示发布者需求[首页] (08:41)

7-5 发起restTemplate请求查询用户服务获得发布者列表[首页] (12:51)

7-6 重组文章列表并且渲染[首页] (07:18)

7-7 查询热闻[首页] (08:07)

7-8 (作业)基本信息展示&历史文章列表[作者主页] (05:36)

7-9 关注与取关&redis单线程计数统计[粉丝关注] (05:48)

7-10 查询用户关注状态[粉丝关注] (13:38)

7-11 用户关注&粉丝累加[粉丝关注] (11:12)

7-12 取消关注&粉丝累减[粉丝关注] (06:06)

7-13 粉丝数与关注数页面显示[粉丝关注] (06:45)

7-14 我的粉丝列表&后端分页查询[粉丝管理] (07:28)

7-15 男女比例柱状图&饼状图显示[数据可视化-粉丝画像] (13:05)

7-16 中国地图粉丝地域分布数量展示[数据可视化-粉丝画像] (13:08)

第8章 开发详情页与评论模块

本章核心完成文章详情页以及评论模块开发,包括详情页动态加载展示,文章评论发布与回复功能,揭秘文章阅读数的防刷策略控制。

共 12 节 (121分钟) 展开列表

第9章 Freemarker 详情页数据静态化

本章核心完成Freemarker的数据静态化,目的为了加载更快以及便于SEO搜索引擎的收录。本章会从Freemarker相关语法以及基本指令为起点,随后编写模板ftl来实现详情页的静态化。

共 13 节 (152分钟)

9-1 文章静态化技术与Freemarker[章节概述] (08:16)

9-2 创建并且显示模板ftl[Hello Freemarker] (14:15)

9-3 输出对象[freemarker语法] (09:26)

9-4 输出list与map[freemarker语法] (08:38)

9-5 指令if[freemarker语法] (09:22)

9-6 结合动态数据生成静态化HTML[freemarker] (16:20)

9-7 改写详情页为模板页ftl[页面静态化] (13:47)

9-8 文章详情ftl生成静态化页面[页面静态化] (16:56)

9-9 文章阅读量单独获取并展示[页面静态化] (08:48)

9-10 梳理生产端消费端与中间gridfs关系[静态化解耦] (11:41)

9-11 生产端存储html到gridfs并关联文章表[静态化解耦] (15:01)

9-12 消费端从gridfs下载HTML到tomcat[静态化解耦] (15:09)

9-13 (作业)撤回删除文章,删除gridfs文件以及html[静态化解耦] (03:58)

第10章 RabbitMQ异步解耦与延迟队列

本章核心带大家掌握消息队列RabbitMQ如何实现异步解耦以及延迟队列。针对接口同步调用,为什么需要结合mq来实现异步解耦,还会结合延迟插件来实现延迟消息的处理。

共 12 节 (141分钟)

10-1 接口解耦需求[章节概述] (08:12)

10-2 RabbitMQ概览&MQ模型 (10:34)

10-3 RabbitMQ-3.8.5安装与配置-1 (14:11)

10-4 RabbitMQ-3.8.5安装与配置-2 (15:35)

10-5 引入依赖和配置[集成Rabbitmq] (06:54)

10-6 创建交换机和队列[集成Rabbitmq] (13:26)

10-7 创建生产者&配置路由规则[集成Rabbitmq] (15:47)

10-8 消费者接受消息处理业务[集成Rabbitmq] (08:30)

10-9 文章静态化HTML与删除[异步解耦] (09:48)

10-10 延迟队列的需求与安装配置[延迟队列] (11:14)

10-11 实现延迟队列[延迟队列] (10:23)

10-12 实现文章的定时延迟发布[延迟队列] (15:46)

第11章 Spring Cloud 微服务-1

本章开始进入微服务的实战,为了更好的统一管理微服务,本章会带大家使用eureka注册中心,ribbon负载均衡,feign声明式客户端以及hystrix熔断降级组件完成微服务开发。

共 25 节 (223分钟)

11-1 互联网架构演变 (16:46)

11-2 SpringCloud 概述与版本选型 (06:59)

11-3 使用 RestTemplate 进行服务调用的弊端 (06:27)

11-4 注册中心模型[eureka] (04:19)

11-5 构建Eureka注册服务[eureka]-1 (07:34)

11-6 构建Eureka注册服务[eureka]-2 (10:36)

11-7 实现用户与文章的服务注册[eureka] (09:55)

11-8 使用AppName优化服务间的通信[eureka] (07:29)

11-9 动态构建eureka集群[eureka] (17:37)

11-10 微服务注册到eureka集群[eureka] (03:28)

11-11 构建微服务集群[eureka] (03:58)

11-12 实现轮训负载均衡[eureka] (06:38)

11-13 自我保护功能[eureka] (10:39)

11-14 概述与负载均衡[ribbon] (05:49)

11-15 实现多种负载均衡算法[ribbon] (12:09)

11-16 重试机制[ribbon] (09:16)

11-17 简化服务调用[feign] (12:08)

11-18 统一校验处理[feign] (07:45)

11-19 开启日志调试[feign] (06:00)

11-20 阐述断路器及概念[hystrix] (07:39)

11-21 模拟服务故障[hystrix] (06:19)

11-22 服务提供者熔断[hystrix] (08:10)

11-23 全局降级[hystrix] (07:07)

11-24 服务调用者降级[hystrix] (11:02)

11-25 自动触发熔断隔离与恢复[hystrix] (16:43)

第12章 Spring Cloud 微服务-2

本章继续微服务实战,带大家针对微服务统一的请求进行管理,使用zuul作为微服务网关,结合config与bus作为动态配置中心,最后还会使用stream消息组件以及sleuth链路追踪组件优化服务。

共 19 节 (197分钟)

12-1 微服务网关[zuul] (04:24)

12-2 搭建网关微服务[zuul] (10:25)

12-3 配置路由[zuul] (09:33)

12-4 配置微服务实例的路由[zuul] (07:26)

12-5 过滤器[zuul] (06:54)

12-6 限制ip黑名单的频繁请求[zuul] (27:47)

12-7 分布式配置中心[config] (05:43)

12-8 搭建配置中心[config] (08:03)

12-9 配置中心实现git配置读取[config] (07:23)

12-10 配置客户端拉取配置[config] (12:33)

12-11 动态刷新git配置[config] (07:39)

12-12 消息总线概述[bus] (05:03)

12-13 配置实现消息统一发送[bus] (14:07)

12-14 消息驱动概述[stream] (07:44)

12-15 实现生产者与消费者[stream] (25:05)

12-16 消息分组与持久化[stream] (15:46)

12-17 链路追踪概述与zipkin[sleuth] (06:41)

12-18 整合zipkin[sleuth] (10:47)

12-19 SpringCloud总结 (03:43)

第13章 课程全面总结

本章将带大家回顾总结课程重点难点,在课程问答区老师等着与你进一步交流,有问题欢迎大家到课程问答区提问。

共 1 节 (9分钟)

13-1 课程总结 (08:30)

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址