分布式/前后端分离/项目分层聚合 一体化开发门户平台+媒体中心+运营中心3大业务平台
Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力
这是一门培养应对复杂业务的综合技术能力的实战课程,本课采用前后端分离开发模式,严格遵守企业级架构和规范,带你开发门户平台+媒体中心+运营中心三大业务的企业级自媒体平台。让你全面掌握主流后端技术栈:Spring Cloud+MongoDB+Redis+RabbitMQ等,同时获得微服务、分布式、项目和微架构综合实战经验。
第1章 课程导学
本章演示整体项目,讲解微服务架构图,技术架构图以及系统功能模块图和技术架构拓扑图,之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学有所归。...
1-1 课前必读
1-2 课程介绍与学习指南试看
1-3 项目介绍与演示【课前必知】试看
1-4 项目微服务架构图【课前必知】试看
1-5 项目技术架构图【课前必知】
第2章 架构后端项目
本章我们先来一起探讨前后端分离的设计模式,启动运行前端项目(前端源码直接提供给大家),对于不同的域名会在本地通过host来模拟实现,之后会通过Maven构建聚合工程,搭建项目,配置日志以及多环境配置,优雅的封装返回结果集,配置整合MyBatis以及swagger2。...
2-1 前后端分离设计模式探讨【项目构建】
2-2 运行前端项目【项目构建】
2-3 虚拟域名的绑定与使用
2-4 数据库选型与数据导入
2-5 构建顶级工程【聚合工程】-1
2-6 构建模块工程【聚合工程】-2
2-7 api接口暴露【聚合工程】
2-8 配置logback日志与多环境profile【聚合工程】
2-9 优雅的返回封装结果【构建项目】
2-10 配置数据库逆向生成工具【构建项目】
2-11 整合mybatis【构建项目】
2-12 Swagger2接口文档工具的使用【构建项目】
第3章 开发通行证服务
本章核心开发用户登录注册业务,带大家使用短信实现一键注册登录。教会大家如何使用流程图梳理业务流程,如何配置阿里云的短信服务(包括拦截控制)。在前后端分离模式和分布式开发中,如何结合Redis实现用户分布式会话,在Redis缓存方面你也会收获到双写一致以及CAP理论。...
3-1 梳理短信登录注册流程
3-2 配置秘钥与资源文件【短信服务】
3-3 整合并发送短信【短息服务】
3-4 安装配置整合Redis-1
3-5 安装配置整合Redis-2
3-6 完善发送短信接口
3-7 联调前端发送短信,解决跨域问题
3-8 拦截并限制60秒用户短信发送
3-9 自定义异常,返回错误信息
3-10 验证BO信息【注册登录】
3-11 查询老用户&新用户添加【注册登录】-1
3-12 查询老用户&新用户添加【注册登录】-2
3-13 设置会话与cookie信息【注册登录】
3-14 资源属性与常量绑定
3-15 查询用户账户信息
3-16 信息校验【用户资料完善】
3-17 postman测试接口【用户资料完善】
3-18 激活用户信息入库【用户资料完善】
3-19 查询并展示用户基本信息
3-20 浏览器存储介质localStorage, cookie, sessionStorage
3-21 缓存用户信息
3-22 双写数据不一致的情况
3-23 缓存数据双写一致
3-24 CAP理论与数据一致性抉择
3-25 用户会话拦截器【拦截器】
3-26 用户状态激活拦截器【拦截器】
3-27 AOP警告日志监控与sql打印
3-28 退出登录&注销会话
第4章 开发文件服务
本章将带你依次掌握实现文件上传主流的两种方式:fastdfs+nginx和阿里云OSS,通过两者的学习,通过本章学习你就可以在自己的项目中自如的接入文件上传业务。
4-1 FastDFS架构原理与上传下载流程解析
4-2 配置FastDFS环境准备工作【FastDFS】
4-3 配置tracker服务【FastDFS】
4-4 配置storage服务【FastDFS】
4-5 安装Nginx提供web服务【FastDFS】
4-6 整合Nginx实现文件服务器【FastDFS】
4-7 创建文件服务module【文件上传】
4-8 整合fdfs与service实现【文件上传】
4-9 实现fastdfs图片存储【文件上传】
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核心操作。...
5-1 构建admin服务
5-2 表设计与账号预分配【admin账号】
5-3 持久层查询管理员【admin账号】
5-4 用户名密码登录【admin账号】
5-5 校验admin账号唯一【admin账号】
5-6 创建admin账号【admin账号】
5-7 查看admin列表【admin账号】
5-8 封装分页数据&调试分页接口【admin账号】
5-9 账号注销【admin账号】
5-10 人脸业务流程图梳理【admin账号】
5-11 Chrome开启视频调试模式
5-12 入门MongoDB
5-13 MongoDB安装与配置使用
5-14 可视化管理工具【MongoDB】
5-15 整合SpringBoot【GridFS】
5-16 实现人脸入库【GridFS】
5-17 查看admin人脸信息【GridFS】-1
5-18 查看admin人脸信息【GridFS】-2
5-19 阿里AI人脸识别介绍
5-20 获得人脸faceId【人脸登录】
5-21 查询人脸数据【人脸登录】
5-22 整合RestTemplate服务通信【人脸登录】
5-23 实现人脸对比进行登录【人脸登录】
5-24 MongoDB使用场景
5-25 友情链接保存与更新【MongoDB】
5-26 Repository持久层操作保存记录【MongoDB】
5-27 友情链接列表查询【MongoDB】
5-28 友情链接删除【MongoDB】
5-29 (作业)文章分类管理
5-30 查询用户列表&设置时间日期转换配置【用户管理】
5-31 查询用户列表&实现service与联调【用户管理】
5-32 查询用户账号&冻结与解封【用户管理】
第6章 内容管理与AI自动审核
本章既是用户中心的核心业务模块,也是网站内容的核心,会先带大家梳理文章表结构,构建文章服务工程,结合summernote富文本实现文章编撰,实现多文件上传。结合Redis提速分类读取,实现文章的发布(定时),完成AI自动和人工审核(审核不通过需打回)。...
6-1 梳理文章article表结构【文章服务】
6-2 构建文章服务工程【文章服务】
6-3 summernote与多文件上传需求【发头条】
6-4 实现多文件上传【发头条】
6-5 获得列表&业务接口解耦与Redis缓存应用【文章领域】
6-6 admin端维护数据缓存【文章领域】
6-7 发布文章入库Controller及验证【发头条】
6-8 发布文章入库Service及联调【发头条】
6-9 预览文章【发头条】
6-10 构建定时任务
6-11 定时发布文章【定时任务】
6-12 文章列表展示【内容管理】
6-13 阿里AI文本检测【内容审核】
6-14 实现阿里AI自动审核文章【内容审核】
6-15 (作业)admin文章管理列表【内容审核】
6-16 人工审核【内容审核】
6-17 撤回&删除文章作业【内容管理】
第7章 开发首页与作家页
本章核心完成首页和作家页面开发,包括文章列表的加载与展示,粉丝的关注与取关,重点Redis的单线程计数功能,粉丝画像数据可视化图片展示。
7-1 首页&作者页面介绍【章节概述 】
7-2 根据MongoDB字段查询友情链接【首页】
7-3 搜索并展示文章列表【首页】
7-4 文章列表展示发布者需求【首页】
7-5 发起restTemplate请求查询用户服务获得发布者列表【首页】
7-6 重组文章列表并且渲染【首页】
7-7 查询热闻【首页】
7-8 (作业)基本信息展示&历史文章列表【作者主页】
7-9 关注与取关&redis单线程计数统计【粉丝关注】
7-10 查询用户关注状态【粉丝关注】
7-11 用户关注&粉丝累加【粉丝关注】
7-12 取消关注&粉丝累减【粉丝关注】
7-13 粉丝数与关注数页面显示【粉丝关注】
7-14 我的粉丝列表&后端分页查询【粉丝管理】
7-15 男女比例柱状图&饼状图显示【数据可视化-粉丝画像】
7-16 中国地图粉丝地域分布数量展示【数据可视化-粉丝画像】
第8章 开发详情页与评论模块
本章核心完成文章详情页以及评论模块开发,包括详情页动态加载展示,文章评论发布与回复功能,揭秘文章阅读数的防刷策略控制。
第9章 Freemarker 详情页数据静态化
本章核心完成Freemarker的数据静态化,目的为了加载更快以及便于SEO搜索引擎的收录。本章会从Freemarker相关语法以及基本指令为起点,随后编写模板ftl来实现详情页的静态化。
第10章 RabbitMQ异步解耦与延迟队列
本章核心带大家掌握消息队列RabbitMQ如何实现异步解耦以及延迟队列。针对接口同步调用,为什么需要结合mq来实现异步解耦,还会结合延迟插件来实现延迟消息的处理。
第11章 Spring Cloud 微服务
本章核心掌握Spring Cloud微服务,包括微服务的eureka,ribbon,feign,hystrix,zuul。还原生产环境中,什么情况需要使用微服务?由于接口的rest调用不好管理,使用微服务及其所提供的组件能更好的管理各个业务之间的彼此调用关系。...
第12章 课程全面总结
本章将带大家回顾总结课程重点难点,在课程问答区老师等着与你进一步交流,有问题欢迎大家到课程问答区提问。