〖课程介绍〗:
这是一门培养应对复杂业务的综合技术能力的实战课程,本课采用前后端分离开发模式,严格遵守企业级架构和规范,带你开发门户平台+媒体中心+运营中心三大业务的企业级自媒体平台。让你全面掌握主流后端技术栈:Spring Cloud+MongoDB+Redis+RabbitMQ等,同时获得微服务、分布式、项目和微架构综合实战经验。
! }3 F9 v7 Q" v5 G: c+ m2 n9 L
. S y' o) q# Q3 q; ^4 [〖课程目录〗:
第1章 课程导学
本章演示整体项目,讲解微服务架构图,技术架构图以及系统功能模块图和技术架构拓扑图,之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。...
5 U: T& }# U6 c1 Z
# B9 u$ K+ o0 S! r, y 1-1 课前必读
1-2 课程介绍与学习指南试看
1-3 项目介绍与演示【课前必知】试看
1-4 项目微服务架构图【课前必知】试看
1-5 项目技术架构图【课前必知】
第2章 架构后端项目
" e8 n* j7 C% ~- ? 本章我们先来一起探讨前后端分离的设计模式,启动运行前端项目(前端源码直接提供给大家),对于不同的域名会在本地通过host来模拟实现,之后会通过Maven构建聚合工程,搭建项目,配置日志以及多环境配置,优雅的封装返回结果集,配置整合MyBatis以及swagger2。...
4 g h2 Q1 j% J, p( ^% E
2-1 前后端分离设计模式探讨【项目构建】
2-2 运行前端项目【项目构建】
9 Z' w4 q& O4 K 2-3 虚拟域名的绑定与使用
2-4 数据库选型与数据导入
, W( p8 @6 l0 h+ a! t' n$ i% f 2-5 构建顶级工程【聚合工程】-1
2-6 构建模块工程【聚合工程】-2
2-7 api接口暴露【聚合工程】
. n% f5 ]! h; I' p* u- F 2-8 配置logback日志与多环境profile【聚合工程】
& j7 C; l, _; c 2-9 优雅的返回封装结果【构建项目】
3 u& u7 L/ F3 w# |" |) S 2-10 配置数据库逆向生成工具【构建项目】
* _% T! r/ b; j) ] 2-11 整合mybatis【构建项目】
. O! L, s {" F6 U& Y 2-12 Swagger2接口文档工具的使用【构建项目】
第3章 开发通行证服务
3 L: u, l! k$ f! a2 B 本章核心开发用户登录注册业务,带大家使用短信实现一键注册登录。教会大家如何使用流程图梳理业务流程,如何配置阿里云的短信服务(包括拦截控制)。在前后端分离模式和分布式开发中,如何结合Redis实现用户分布式会话,在Redis缓存方面你也会收获到双写一致以及CAP理论。...
+ i, a% k, O; v 3-1 梳理短信登录注册流程
3-2 配置秘钥与资源文件【短信服务】
& h/ G9 X$ w4 ?1 }4 m9 t 3-3 整合并发送短信【短息服务】
; x, o# v$ u1 i( \7 X 3-4 安装配置整合Redis-1
3-5 安装配置整合Redis-2
; `4 x/ u) m3 H v0 {# R+ ? 3-6 完善发送短信接口
3-7 联调前端发送短信,解决跨域问题
5 c9 U3 V0 p2 D: w9 a: @ 3-8 拦截并限制60秒用户短信发送
6 X$ t+ q8 P' ] 3-9 自定义异常,返回错误信息
3-10 验证BO信息【注册登录】
3-11 查询老用户&新用户添加【注册登录】-1
3-12 查询老用户&新用户添加【注册登录】-2
3-13 设置会话与cookie信息【注册登录】
3-14 资源属性与常量绑定
# P% Q, L9 `# ]$ {$ Y 3-15 查询用户账户信息
3-16 信息校验【用户资料完善】
3-17 postman测试接口【用户资料完善】
3-18 激活用户信息入库【用户资料完善】
5 }+ \% \9 P: b' w! j# k 3-19 查询并展示用户基本信息
3-20 浏览器存储介质localStorage, cookie, sessionStorage
2 `/ \. S6 @: d- P3 L 3-21 缓存用户信息
! g3 @2 P7 U3 c2 h. A& S3 N 3-22 双写数据不一致的情况
& D4 B% K* Q! }' P 3-23 缓存数据双写一致
4 x. b& b) c- | i* B 3-24 CAP理论与数据一致性抉择
& b+ D9 c& J# H% x- Z) i 3-25 用户会话拦截器【拦截器】
- i) d, `9 t. J) g# P' p 3-26 用户状态激活拦截器【拦截器】
3-27 AOP警告日志监控与sql打印
8 O, Z- X& g6 g$ p& b2 T# }- p5 U0 T 3-28 退出登录&注销会话
( H1 P9 q' P9 L3 @ 第4章 开发文件服务
) Y- M" ]$ n0 C; U- A 本章将带你依次掌握实现文件上传主流的两种方式:fastdfs+nginx和阿里云OSS,通过两者的学习,通过本章学习你就可以在自己的项目中自如的接入文件上传业务。
& I9 J4 A0 l" k E) d8 ~! i% X8 h
4-1 FastDFS架构原理与上传下载流程解析
4-2 配置FastDFS环境准备工作【FastDFS】
" r& v. f0 e: t* S 4-3 配置tracker服务【FastDFS】
. Q5 ?) x0 T8 k7 {; x 4-4 配置storage服务【FastDFS】
' I$ V9 m7 }/ N3 }, M) W 4-5 安装Nginx提供web服务【FastDFS】
' T/ F8 b% ~4 { 4-6 整合Nginx实现文件服务器【FastDFS】
4-7 创建文件服务module【文件上传】
4-8 整合fdfs与service实现【文件上传】
4-9 实现fastdfs图片存储【文件上传】
! q; j7 T- |' K. p% k+ i, F6 X: M 4-10 完善用户头像上传【文件上传】
4-11 图片大小控制的统一异常处理
4-12 第三方云存储解决方案【阿里OSS】
4-13 阿里OSS介绍
4-14 控制台的基本配置使用【阿里OSS】
4-15 SDK的使用与项目整合【阿里OSS】
4-16 OSS整合实现文件上传【阿里OSS】
4-17 图片自动审核【阿里内容安全】
4-18 创建阿里云子账号【阿里内容安全】
第5章 开发admin管理服务
本章核心带大家完成admin管理服务中的人脸/分类/友情链接等功能实现。先从maven构建子module开始,完成对admin表设计与预分配账号,对admin账户分片实现登录。揭秘人脸登录逻辑,使用gridfs解决人脸存储问题,分享阿里智能AI识别技术。最后完成友情链接与分类业务开发,教会大家mongodb核心操作。...
# X6 D8 i' K# r7 q( g/ }/ |
. M& J& S$ | V% t3 R' J 5-1 构建admin服务
, w( G) g' e# `7 `, q, D$ \' E# x 5-2 表设计与账号预分配【admin账号】
5-3 持久层查询管理员【admin账号】
% i" \' Y8 w* l! ]- ~ 5-4 用户名密码登录【admin账号】
5-5 校验admin账号唯一【admin账号】
8 K! E( l( H* R0 S; A" b: t 5-6 创建admin账号【admin账号】
5-7 查看admin列表【admin账号】
5-8 封装分页数据&调试分页接口【admin账号】
7 O5 M; j! j8 }" Z0 e 5-9 账号注销【admin账号】
5-10 人脸业务流程图梳理【admin账号】
+ W! h0 U. H/ k 5-11 Chrome开启视频调试模式
5-12 入门MongoDB
' Z/ Z- W- g0 o# K# T% B 5-13 MongoDB安装与配置使用
( Z" C% `1 |( U9 {& } 5-14 可视化管理工具【MongoDB】
/ D' i5 d' B% W 5-15 整合SpringBoot【GridFS】
" I) b1 T4 S1 D" I% u: g 5-16 实现人脸入库【GridFS】
4 R: o% `0 Q0 Z5 P: a) m 5-17 查看admin人脸信息【GridFS】-1
5 S' K' |4 R9 W# H 5-18 查看admin人脸信息【GridFS】-2
3 G) }) J2 i7 M- j' X+ u* G+ H 5-19 阿里AI人脸识别介绍
5-20 获得人脸faceId【人脸登录】
$ F7 g: h, f' u- U1 \# h$ [ 5-21 查询人脸数据【人脸登录】
* o @: j4 \# S; i 5-22 整合RestTemplate服务通信【人脸登录】
9 ~' ^ @" B- \+ k, i) W 5-23 实现人脸对比进行登录【人脸登录】
5-24 MongoDB使用场景
7 P( X+ f9 t/ M3 m 5-25 友情链接保存与更新【MongoDB】
8 ^" Z" U1 G3 P8 T 5-26 Repository持久层操作保存记录【MongoDB】
5-27 友情链接列表查询【MongoDB】
4 e, A+ j' G( B$ O( H- R 5-28 友情链接删除【MongoDB】
5-29 (作业)文章分类管理
5-30 查询用户列表&设置时间日期转换配置【用户管理】
. g; i% c, @9 E# A: s. f 5-31 查询用户列表&实现service与联调【用户管理】
5-32 查询用户账号&冻结与解封【用户管理】
* G( Z( {$ S0 ]! B 第6章 内容管理与AI自动审核
' O- a4 `1 r5 W% C" y3 L0 g 本章既是用户中心的核心业务模块,也是网站内容的核心,会先带大家梳理文章表结构,构建文章服务工程,结合summernote富文本实现文章编撰,实现多文件上传。结合Redis提速分类读取,实现文章的发布(定时),完成AI自动和人工审核(审核不通过需打回)。...
: B2 y/ y1 T. v& t
6-1 梳理文章article表结构【文章服务】
. V+ R: ^! ?4 ^8 w# K) O: z, @ 6-2 构建文章服务工程【文章服务】
6-3 summernote与多文件上传需求【发头条】
) N% v/ }+ _) k8 ? 6-4 实现多文件上传【发头条】
6-5 获得列表&业务接口解耦与Redis缓存应用【文章领域】
6-6 admin端维护数据缓存【文章领域】
6-7 发布文章入库Controller及验证【发头条】
9 ^1 w' F" j7 Y ^' _ 6-8 发布文章入库Service及联调【发头条】
% u$ A, `3 h% ]- H' O 6-9 预览文章【发头条】
/ g" {2 j- c9 Y% W* I- \ 6-10 构建定时任务
! {0 E- ^) g# K% R3 I1 Y 6-11 定时发布文章【定时任务】
# D9 f7 V0 | [3 [! f s 6-12 文章列表展示【内容管理】
8 D) h" g- s3 V% o 6-13 阿里AI文本检测【内容审核】
6-14 实现阿里AI自动审核文章【内容审核】
6-15 (作业)admin文章管理列表【内容审核】
! E5 E! o- I3 E 6-16 人工审核【内容审核】
6-17 撤回&删除文章作业【内容管理】
- F) L7 S8 ^9 \' r. d( t, t7 d 第7章 开发首页与作家页
本章核心完成首页和作家页面开发,包括文章列表的加载与展示,粉丝的关注与取关,重点Redis的单线程计数功能,粉丝画像数据可视化图片展示。
( s6 Q3 y& B) E3 L 7-1 首页&作者页面介绍【章节概述 】
7 E1 i7 v6 M; B- m 7-2 根据MongoDB字段查询友情链接【首页】
$ ?! h& c0 r. u9 m$ |: Q 7-3 搜索并展示文章列表【首页】
" e6 B7 G" k0 [+ d3 d6 V 7-4 文章列表展示发布者需求【首页】
S, F9 ?' l# B, N/ ~ 7-5 发起restTemplate请求查询用户服务获得发布者列表【首页】
; x6 c, J! d' F 7-6 重组文章列表并且渲染【首页】
4 m, k, G2 s1 [& y. v8 c8 X 7-7 查询热闻【首页】
f" W- h' |; N9 b3 O% g 7-8 (作业)基本信息展示&历史文章列表【作者主页】
0 I# J. u2 m" k. V$ u4 G" Y! Y! M 7-9 关注与取关&redis单线程计数统计【粉丝关注】
- Y7 M* o5 I6 g) [ 7-10 查询用户关注状态【粉丝关注】
6 E3 ~6 P! T' _ 7-11 用户关注&粉丝累加【粉丝关注】
7-12 取消关注&粉丝累减【粉丝关注】
, Y1 i, g. S, M" a4 d2 ]( X 7-13 粉丝数与关注数页面显示【粉丝关注】
. M. w* x8 K7 P- y4 D6 o 7-14 我的粉丝列表&后端分页查询【粉丝管理】
7-15 男女比例柱状图&饼状图显示【数据可视化-粉丝画像】
& q" w8 E4 R4 c# L, l/ u( R9 B0 X 7-16 中国地图粉丝地域分布数量展示【数据可视化-粉丝画像】
第8章 开发详情页与评论模块
- k7 R# q# k3 U% [( G7 m 本章核心完成文章详情页以及评论模块开发,包括详情页动态加载展示,文章评论发布与回复功能,揭秘文章阅读数的防刷策略控制。
, e0 m. Y' Q# N7 u7 n% g 8-1 开发文章详情接口【章节概述】
1 ~0 i# b, ~8 L9 b, ^. _( W, q 8-2 阅读文章&阅读量redis累加【详情页】
' s5 i* F6 Z- Q D) O s1 d- q 8-3 文章阅读数防刷策略【详情页】
8-4 Redis mget 批量查询组装阅读数并展示【文章列表】
8-5 用户发表评论【文章评论】
) O' H( @6 C! S2 U/ r& c& L 8-6 用户评论入库保存【文章评论】
8-7 评论数累计与显示【文章评论】
' V: S- g% ~7 e. b' l3 l$ r 8-8 文章评论sql关联查询【文章评论】
) m; `+ R2 v) U4 }, | 8-9 显示评论列表【文章评论】
8-10 (作业)管理评论列表以及删除评论【评论管理】
. I& I% N" L" w 8-11 增加评论者头像展示功能需求扩展【文章评论】
- o7 l' q1 m0 d4 c 8-12 课程小结
; E/ @9 Q% _9 n0 x0 { 第9章 Freemarker 详情页数据静态化
本章核心完成Freemarker的数据静态化,目的为了加载更快以及便于SEO搜索引擎的收录。本章会从Freemarker相关语法以及基本指令为起点,随后编写模板ftl来实现详情页的静态化。
6 f% o% c4 e- U. G4 V, t# i2 H7 s
9-1 文章静态化技术与Freemarker【章节概述】
& c# `& D* G- F, i 9-2 创建并且显示模板ftl【Hello Freemarker】
% Q' w' o* G. J* V* Q L0 n& A 9-3 输出对象【freemarker语法】
! H( n! j* h8 l% j, W 9-4 输出list与map【freemarker语法】
4 X/ G$ {7 S$ A- ~+ ^3 }4 A 9-5 指令if【freemarker语法】
/ d; F# f+ E0 H. \+ F 9-6 结合动态数据生成静态化HTML【freemarker】
9-7 改写详情页为模板页ftl【页面静态化】
9-8 文章详情ftl生成静态化页面【页面静态化】
' t2 c* ^; ?0 M E0 X 9-9 文章阅读量单独获取并展示【页面静态化】
7 g- ?0 t$ w* H0 m. N9 Y& A- H 9-10 梳理生产端消费端与中间gridfs关系【静态化解耦】
9-11 生产端存储html到gridfs并关联文章表【静态化解耦】
# s8 `4 O& Q8 T: n% a# c B 9-12 消费端从gridfs下载HTML到tomcat【静态化解耦】
4 e l1 Z7 t# X* [+ _8 u0 H 9-13 (作业)撤回删除文章,删除gridfs文件以及html【静态化解耦】
4 ~8 B9 P8 z# U* W 第10章 RabbitMQ异步解耦与延迟队列
2 d E1 Z% U a 本章核心带大家掌握消息队列RabbitMQ如何实现异步解耦以及延迟队列。针对接口同步调用,为什么需要结合mq来实现异步解耦,还会结合延迟插件来实现延迟消息的处理。
7 Z2 E; U, L E }+ h
10-1 接口解耦需求【章节概述】
10-2 RabbitMQ概览&MQ模型
" ~: y: T1 q' ^/ Y; f9 s 10-3 RabbitMQ-3.8.5安装与配置-1
10-4 RabbitMQ-3.8.5安装与配置-2
10-5 引入依赖和配置【集成Rabbitmq】
! U2 Y: k b" V 10-6 创建交换机和队列【集成Rabbitmq】
: }0 y2 j- E- w& U 10-7 创建生产者&配置路由规则【集成Rabbitmq】
- w0 \! s8 D9 I* M6 b$ @ 10-8 消费者接受消息处理业务【集成Rabbitmq】
10-9 文章静态化HTML与删除【异步解耦】
10-10 延迟队列的需求与安装配置【延迟队列】
10-11 实现延迟队列【延迟队列】
10-12 实现文章的定时延迟发布【延迟队列】
- S: h7 R) I3 ~; V+ R 第11章 Spring Cloud 微服务-1
本章开始进入微服务的实战,为了更好的统一管理微服务,本章会带大家使用eureka注册中心,ribbon负载均衡,feign声明式客户端以及hystrix熔断降级组件完成微服务开发。
7 Q% x2 M4 J7 z, ]6 D" G" ?0 y 11-1 互联网架构演变
, V; v& O3 W/ f! w7 f 11-2 SpringCloud 概述与版本选型
11-3 使用 RestTemplate 进行服务调用的弊端
11-4 注册中心模型【eureka】
11-5 构建Eureka注册服务【eureka】-1
11-6 构建Eureka注册服务【eureka】-2
11-7 实现用户与文章的服务注册【eureka】
11-8 使用AppName优化服务间的通信【eureka】
11-9 动态构建eureka集群【eureka】
11-10 微服务注册到eureka集群【eureka】
9 s. M+ C: ^; L) n8 W1 K& a 11-11 构建微服务集群【eureka】
11-12 实现轮训负载均衡【eureka】
11-13 自我保护功能【eureka】
% G; e/ Z5 p1 S6 t. P; u8 X 11-14 概述与负载均衡【ribbon】
6 G7 D9 @% J+ x% X: B; d5 j. q 11-15 实现多种负载均衡算法【ribbon】
* j9 N3 n* h$ }0 L, | _; t 11-16 重试机制【ribbon】
11-17 简化服务调用【feign】
11-18 统一校验处理【feign】
11-19 开启日志调试【feign】
8 m/ A- V6 V8 `& x 11-20 阐述断路器及概念【hystrix】
11-21 模拟服务故障【hystrix】
+ \# P* D0 R' v" Y 11-22 服务提供者熔断【hystrix】
11-23 全局降级【hystrix】
11-24 服务调用者降级【hystrix】
2 F0 |1 n' W( \ 11-25 自动触发熔断隔离与恢复【hystrix】
第12章 Spring Cloud 微服务-2
本章继续微服务实战,带大家针对微服务统一的请求进行管理,使用zuul作为微服务网关,结合config与bus作为动态配置中心,最后还会使用stream消息组件以及sleuth链路追踪组件优化服务。
, j4 Z/ z# n% O0 v8 C5 t 12-1 微服务网关【zuul】
0 W) ], N3 v% m2 o5 q" ~ 12-2 搭建网关微服务【zuul】
12-3 配置路由【zuul】
" _" R$ g6 B+ t7 f( c+ ^. G; s8 H 12-4 配置微服务实例的路由【zuul】
12-5 过滤器【zuul】
12-6 限制ip黑名单的频繁请求【zuul】
8 J+ F U5 ]8 D/ w3 b4 q/ l# r: f 12-7 分布式配置中心【config】
2 m* P, d' h# y- e( a% K 12-8 搭建配置中心【config】
6 G' n( p' G3 x% Q* K J 12-9 配置中心实现git配置读取【config】
12-10 配置客户端拉取配置【config】
12-11 动态刷新git配置【config】
12-12 消息总线概述【bus】
12-13 配置实现消息统一发送【bus】
12-14 消息驱动概述【stream】
7 \/ A# ?+ g' x A 12-15 实现生产者与消费者【stream】
12-16 消息分组与持久化【stream】
Z" Q, z7 u1 E7 s0 t+ U! q 12-17 链路追踪概述与zipkin【sleuth】
: R: T* ]2 X. v( ` 12-18 整合zipkin【sleuth】
( ^% j) C d- ^ 12-19 SpringCloud总结
8 h1 y& ^- q! p# W+ s- T) F9 R# R 第13章 课程全面总结
" V& m8 c; T- c0 p 本章将带大家回顾总结课程重点难点,在课程问答区老师等着与你进一步交流,有问题欢迎大家到课程问答区提问。
0 g$ e3 J# M9 L$ }2 H2 p) s
13-1 课程总结
〖视频截图〗: