先给结论:这是一门以「新闻资讯平台」为壳、以微服务与推荐链路为里的项目实战课。它的价值不在于又教你写一个增删改查后台,而在于把「内容抓取—存储—检索—推荐—推送」这条真实业务链路走通一遍。如果你正在准备面试中高级后端岗位,或者想从单体项目过渡到分布式项目,它值得你花时间;如果你还没写过完整的三层架构 Web 项目,先补基础再回来。
它解决的是「项目说不清楚」的问题
不少人的简历上写着「电商平台」「管理系统」,面试官一问:流量上来怎么办?模块之间怎么解耦?推荐怎么落地?就答不上来。这门课针对的正是这个场景。黑马头条模拟的是一个日活可观的资讯类产品,核心矛盾是内容多、用户兴趣分散、时效性要求高。课程会围绕这些矛盾去拆服务边界,而不是先摆出一堆技术名词再硬套业务。
学完之后,你应该能独立说清楚:一个资讯类系统的服务划分依据是什么,哪些环节必须异步,哪些数据适合缓存,推荐结果是怎么从离线计算流转到用户手机上的。
学完你能独立做什么
- 独立搭建一套可运行的内容服务集群,包括文章采集入库、审核状态流转、频道与标签管理。
- 为资讯列表设计搜索与筛选方案,处理关键词查询和热词统计这类高频需求。
- 把用户行为数据接入推荐流程,完成一次从行为采集到画像、再到结果回传的完整闭环。
- 用服务间调用的思路排查跨模块问题,定位是数据没落库、消息没消费,还是缓存没命中。
- 把这套架构讲成一段有细节、有取舍的项目经历,而不是背概念。
注意,课里不会教你从零训练一个推荐模型,重点在工程侧:怎么把已有的计算能力接进业务系统,这是大多数公司实际要做的事。
资料的组织方式和适合的基础
课程按业务阶段推进,先是内容侧的服务搭建与数据流转,再进入用户行为与推荐相关的部分,最后是整体联调和部署验证。视频承担思路讲解与关键代码编写,配套资料用于对照实现和复现环境。
适合的基础:能熟练使用 Java 或同类后端语言,写过基于框架的 Web 项目,知道数据库和缓存的基本用法。如果对消息队列、注册中心、容器化部署完全没有概念,前几节推进会吃力,建议边看边补对应组件的入门知识,不要跳。
使用建议:别只看,要动手改
这类项目的通病是「看的时候都懂,自己写就卡」。建议按下面的节奏走:
- 每完成一个模块,先关掉视频,凭理解把该模块的接口和数据表重新写一遍,再对照资料查漏。
- 重点琢磨服务的拆分理由,多问一句「如果合成一个服务会怎样」,这比记住代码更有用。
- 主动制造问题:把缓存关掉、把某个下游服务停掉,观察系统表现,理解容错和降级的意义。
- 最后用两三句话总结自己的项目,能讲清楚架构取舍,才算真正学完。
一句话概括:这是一门需要你动手改、动手拆的项目课,适合拿来补分布式项目经验,不适合当作第一门后端课。
课程目录
第一章 黑马头条-环境搭建 课程说明(黑马头条学习资料在此下载~) 01_黑马头条项目课程大纲 02_学习目标介绍 项目介绍及环境搭建 03_项目概述_项目背景及概述 04_项目需求_项目功能需求介绍 05_项目需求_性能需求及交互需求 06_项目技术_项目技术栈介绍 07_项目搭建_数据库设计及导入 08_项目搭建_原始项目结构介绍及导入 09_项目搭建_后台接口开发规范 10_项目搭建_常用工具类说明 11_项目搭建_通用的请求和响应对象介绍 公用工具类说明 12_通用说明_jackson解决id和日期序列化与反序列化 13_通用说明_多环境配置说明 14_通用说明_mysql环境配置 15_通用说明_事务管理配置 app文章列表 16_app文章列表_需求分析 17_app文章列表_接口定义分析 18_app文章列表_article微服务工程搭建 19_app文章列表_接口代码编写 20_app文章列表_业务层实现类代码完成 21_app文章列表_mapper文件编写1 22_app文章列表_mapper文件编写2 23_app文章列表_逻辑测试 用户行为功能 24_用户行为功能_思路分析 25_用户行为功能_项目导入及接口定义 26_用户行为功能_控制器编写及业务层代码思路分析 27_用户行为功能_业务代码实现 28_用户行为功能_mapper映射文件编写 29_用户行为功能_测试 第二章 黑马头条-前端项目及mycat的使用 前端工程搭建 01_学习目标 02_前端工程结构介绍及环境准备 03_导入前端app工程 weex 04_weex_前端框架介绍 05_weex_基本组件介绍 06_weex_基本组件_上拉下拉刷新 07_weex_内置模块stream发送http异步请求 08_weex_weexUI介绍及简单使用 文章列表前端开发 09_文章列表前端_页面初始化 10_文章列表前端_http请求后台数据 11_文章列表前端_数据展示 12_文章列表前端_行为数据保存代码开发 13_文章列表前端_用户行为功能测试 项目集成mycat 14_mycat_为什么要进行分库分表 15_mycat_mycat相关概念介绍 16_mycat_项目数据节点需求分析设计 17_mycat_配置详解及导入数据库脚本 18_mycat_mycat连接测试 19_mycat路由开发_环境搭建 20_mycat路由开发_算法代码实现 21_mycat路由开发_算法应用及部署 22_mycat路由开发_数据库环境切换及算法测试 23_mycat路由开发_算法测试_增删改查解决方案 第三章 黑马头条-app端文章详情 zk分布式主键 01_学习目标 02_zk分布式主键_环境准备 03_zk分布式主键_序列封装 04_zk分布式主键_client封装 05_zk分布式主键_config封装 06_zk分布式主键_主键生成测试 app文章详情 07_app文章详情_需求分析 08_app文章详情_术语介绍及后端定义介绍 09_app文章详情_文章内容接口_mapper文件开发及service定义 10_app文章详情_文章内容接口_service实现及controler代码编写 11_app文章详情_文章内容接口_使用mockmvc文章内容接口测试 12_app文章详情_文章关系接口_需求及思路分析 13_app文章详情_文章关系接口_mapper定义 14_app文章详情_文章关系接口_service代码编写(1) 15_app文章详情_文章关系接口_service代码编写(2) 16_app文章详情_文章关系接口_controller代码编写及测试 17_app文章详情_关注接口_user模块创建及接口思路分析 18_app文章详情_关注接口_关注行为保存代码完成 19_app文章详情_关注接口_关注操作_mapper接口编写 20_app文章详情_关注接口_关注操作_service实现类编写(1) 21_app文章详情_关注接口_关注操作_service实现类编写(2) 22_app文章详情_关注接口_关注操作_接口编写及代码改造 23_app文章详情_点赞接口开发 24_app文章详情_不喜欢接口开发 25_app文章详情_阅读接口开发 第四章 黑马头条-app端搜索 登陆模块&配置说明 01_学习目标 02_app登录模块开发 03_后台微服务其他必须配置项配置 文章详情前台开发 04_文章详情_前台代码流程说明 05_文章详情_前后台功能接口测试 06_文章详情_前后台功能接口测试2 app端搜索 07_app搜索_需求分析及接口定义分析 08_app搜索_搜索记录历史接口开发完成 09_app搜索_删除搜索历史接口开发完成 10_app搜索_清空搜索历史接口开发完成 11_app搜索_查询今日热词接口开发完成 12_app搜索_查询联想词接口开发完成 13_app搜索_elasticsearch环境配置及测试数据导入 14_app搜索_文章搜索接口_保存搜索记录 15_app搜索_文章搜索接口_代码完成 16_app搜索_前后端联调测试 第五章 黑马头条-自媒体文章发布与管理 自媒体登录 01_学习目标 02_自媒体相关功能_需求分析 03_自媒体登录_微服务创建及登录后台代码编写 04_自媒体登录_前台代码导入及登录流程分析 自媒体素材 05_自媒体_fastdfs代码封装 06_自媒体_素材管理_图片上传接口开发 07_自媒体_素材管理_图片上传功能完成 08_自媒体_素材管理_删除图片接口开发完成 09_自媒体_素材管理_素材列表接口开发 10_自媒体_素材管理_素材列表&删除图片前端测试联调 11_自媒体_素材管理_收藏与取消收藏完成 发布文章 12_自媒体文章管理_发布文章需求分析 13_自媒体文章管理_发布文章mapper定义 14_自媒体文章管理_发布文章业务代码编写1 15_自媒体文章管理_发布文章业务代码编写2 16_自媒体文章管理_发布文章业务代码编写3 17_自媒体文章管理_发布文章业务层代码编写 18_自媒体文章管理_发布文章前后端联调测试 文章列表中展示 19_自媒体文章管理_文章列表后台接口开发 20_自媒体文章管理_文章详情后台接口开发 21_自媒体文章管理_文章删除后台接口开发 22_自媒体文章管理_文章管理前后台测试 第六章 黑马头条-通用后端 admin登录功能开发 01_学习目标 02_admin工程搭建 03_admin登录-后端接口开发 04_admin登录-前后端联调测试 通用后端思路分析 05_后端通用封装-需求分析 06_后端通用封装-思路分析及接口定义说明 07_后端通用封装-类图关系说明 08_后端通用封装-通用封装dto详细说明 通用后端代码开发 09_后端通用封装-后置增强接口BaseCommonFilter 10_后端通用封装-CommonDao 11_后端通用封装-通用service-接口定义 12_后端通用封装-通用service-查询方法1 13_后端通用封装-通用service-查询方法2 14_后端通用封装-通用service-后处理bean的封装 15_后端通用封装-通用service-新增方法 16_后端通用封装-通用service-修改方法 17_后端通用封装-通用service-删除方法 18_后端通用封装-通用controller 19_后端通用封装-功能测试 20_通用封装-前台逻辑流程说明 21_通用封装-总结和优化思路 第七章 黑马头条-自媒体文章审核 kafka封装 00_今日目标 01_kafka_kafka封装 02_kafka_测试_生产者和消费者代码编写 自媒体文章审核 03_自媒体文章自动审核_aliyun服务介绍 04_自媒体文章自动审核_aliyunAI_文本内容审核测试 05_自媒体文章自动审核_aliyunAI_图片审核测试 06_自媒体文章自动审核_需求及思路分析 07_自媒体文章自动审核_mapper接口编写 08_自媒体文章自动审核_审核主逻辑编写1 09_自媒体文章自动审核_审核主逻辑编写2 10_自媒体文章自动审核_标题与内容匹配度计算 11_自媒体文章自动审核_文本和图片审核 12_自媒体文章自动审核_保存作者及文章 13_自媒体文章自动审核_保存文章内容和配置 14_自媒体文章自动审核_创建索引及通知 15_自媒体文章自动审核_测试1 16_自媒体文章自动审核_测试2 17_自媒体文章自动审核_自媒体发布文章发送消息 18_自媒体文章自动审核_自媒体发布文章接收消息 19_自媒体文章自动审核_自媒体发布文章_测试 第八章 黑马头条-爬虫系统搭建&下载url初始化 爬虫及爬虫工具介绍 01_学习目标 02_爬虫是什么 03_webmagic介绍 04_爬虫概念介绍_代理ip 05_Selenium介绍及下载安装 06_Xpath介绍 爬虫系统搭建 07_爬虫概念介绍_cron表达式 08_爬虫系统需求分析及设计思路介绍 09_爬虫系统导入 页面下载初始化 10_爬虫系统初始化_初始化URL的获取1 11_爬虫系统初始化_初始化URL的获取2 12_爬虫系统初始化_初始化URL的获取_测试 13_爬虫系统初始化_下载准备_工具类介绍1 14_爬虫系统初始化_下载准备_工具类介绍2 15_爬虫系统初始化_下载准备_帮助类介绍 16_爬虫系统初始化_下载准备_下载类介绍 17_爬虫系统初始化_文档处理_思路分析 18_爬虫系统初始化_文档处理_文档处理实体类介绍 19_爬虫系统初始化_文档处理_初始化url解析规则定义 20_爬虫系统初始化_文档处理_用户空间解析规则定义 21_爬虫系统初始化_文档处理_目标页解析规则 第九章 黑马头条-爬虫内容解析 文章解析 01_学习目标 02_文档解析_前置准备工作 03_文档解析_抽象类定义1 04_文档解析_抽象类定义2 05_文档解析_抽象类定义3 06_文档解析_初始化url解析器编写 07_文档解析_个人空间页解析1 08_文档解析_个人空间页解析2 09_文档解析_个人空间页解析3 10_文档解析_目标页解析 11_文档解析_文档管理器 爬虫组件整合 12_爬虫组件整合思路分析 13_爬虫组件整合_流程管理器代码编写1 14_爬虫组件整合_流程管理器代码编写2 15_爬虫组件整合_整体测试 16_爬虫组件整合_整体测试2 数据保存-频道 17_数据保存_频道_思路分析 18_数据保存_频道_mapper定义 19_数据保存_频道_service_查询标签1 20_数据保存_频道_service_查询标签2 21_数据保存_频道_service_查询标签测试 22_数据保存_频道_service_查询频道信息 23_数据保存_频道_service_查询频道信息测试 第十章 黑马头条-爬虫数据保存 爬虫数据保存接口准备 01_今日目标 02_数据保存准备_ip代理池_需求分析及mapper定义 03_数据保存准备_ip代理池_service代码编写 04_数据保存准备_ip代理池_测试 05_数据保存准备_爬虫文章图文附加信息_需求分析及mapper定义 06_数据保存准备_爬虫文章图文附加信息_service接口定义 07_数据保存准备_爬虫文章图文附加信息_service实现类代码编写 08_数据保存准备_爬虫文章图文附加信息_测试 09_数据保存准备_爬虫文章图文评论信息_完成 10_数据保存准备_爬虫文章完成 爬虫数据排重 11_爬虫数据排重_redis集成 12_爬虫数据排重_排重代码编写 13_爬虫数据排重_测试 爬虫数据解析保存 14_爬虫数据解析保存_思路分析 15_爬虫数据解析保存_解析抽象类定义 16_爬虫数据解析保存_准备工作及工具类介绍 17_爬虫数据解析保存_解析代码框架代码编写 18_爬虫数据解析保存_保存文章信息骨架编写 19_爬虫数据解析保存_文章保存1 20_爬虫数据解析保存_文章保存2 21_爬虫数据解析保存_文章附加信息的保存 22_爬虫数据解析保存_评论信息保存1 23_爬虫数据解析保存_评论信息保存2 24_爬虫数据解析保存_文章自动审核消息发送 25_爬虫数据解析保存_反向更新附加数据 26_爬虫数据解析保存_综合测试 第十一章 黑马头条-爬虫系统完善&文章审核 逆向抓取 01_学习目标 02_爬虫系统完善_增加代理下载 03_爬虫系统完善_逆向抓取代码实现 04_爬虫系统完善_逆向抓取测试 动态ip代理池 05_动态ip代理池管理_检验ip1 06_动态ip代理池管理_检验ip2 07_动态ip代理池管理_更新动态ip 08_动态ip代理池管理_更新动态ip2 定时任务采集文章 09_定时任务添加_封装配置说明 10_定时任务添加_正向抓取数据 11_定时任务添加_其他定时任务类 12_定时任务添加_测试 爬虫文章审核 13_爬虫文章审核_流程分析 14_爬虫文章审核_mapper定义及service接口创建 15_爬虫文章审核_定时任务调用方法编写 16_爬虫文章审核_审核标题与内容匹配度&审核图片和内容 17_爬虫文章审核_修改文章&文本和图片解析 18_爬虫文章审核_文章等信息保存骨架编写 19_爬虫文章审核_文章等信息保存 20_爬虫文章审核_创建索引 21_爬虫文章审核_审核成功更新状态 22_爬虫文章审核_整体测试 23_爬虫文章审核_爬虫系统与admin系统整合测试 24_爬虫文章审核_定时任务扫描爬虫未审核文章信息 第十二章 黑马头条-热文章计算 热文章计算-定时 01_学习目标 02_热文章计算_需求及思路分析 03_热文章计算_定时计算_mapper定义 04_热文章计算_定时计算_热度分值计算1 05_热文章计算_定时计算_热度分值计算2 06_热文章计算_定时计算_频道首页数据缓存到redis 07_热文章计算_定时计算_保存热点文章 08_热文章计算_定时计算_定时任务设置 09_热文章计算_定时计算_测试 热文章计算-实时 10_热文章计算_实时计算_思路分析 11_热文章计算_实时计算_发消息_消息名称和消息封装实体类定义 12_热文章计算_实时计算_发消息_消息发送方法编写 13_热文章计算_实时计算_发消息_点赞和阅读收集消息发送 14_热文章计算_实时计算_发消息_类型消息转换 15_热文章计算_实时计算_收消息_kafkastream工具类介绍 16_热文章计算_实时计算_收消息_消息名称定义及监听类编写 17_热文章计算_实时计算_收消息_消息流处理1 18_热文章计算_实时计算_收消息_消息流处理2 19_热文章计算_实时计算_收消息_消息流处理3 20_热文章计算_实时计算_收消息_更新文章增量数据 21_热文章计算_实时计算_收消息_测试 22_今日总结 第十三章 黑马头条-项目优化 图片缓存开发及应用 01_学习目标 02_图片缓存_需求分析 03_图片缓存_article端发送消息 04_图片缓存_图片微服务导入及代码思路分析 05_图片缓存_图片缓存逻辑编写 06_图片缓存_热文章图片处理 07_图片缓存_消息接收监听类编写 08_图片缓存_监听消息测试 09_图片缓存_图片访问接口编写 文章首页接口改造 10_文章首页接口改造_思路分析 11_文章首页接口改造_后端_文章列表展示service代码1 12_文章首页接口改造_后端_文章列表展示service代码2 13_文章首页接口改造_后端_controller代码编写 14_文章首页接口改造_前端_前端代码编写及测试 联想词优化 15_联想词优化_需求分析及接口说明 16_联想词优化_业务代码编写 17_联想词优化_控制层代码编写及综合测试 接口安全-密码场景说明 18_接口安全_常用加密算法介绍 19_接口安全_密码验证service编写 20_接口安全_登录验证service编写 21_接口安全_登录验证控制层编写及测试 第十四章 黑马头条-数据迁移 数据迁移-hbase&mongo环境说明 01_今日目标 02_数据迁移_为什么要自动同步数据 03_数据迁移_迁移方案分析 04_数据迁移_hbase介绍 05_数据迁移_common模块整合hbase 06_数据迁移_hbase原生client测试 07_数据迁移_hbase封装storageclient测试 08_数据迁移_mongo集成及测试 数据迁移-具体业务操作 09_数据迁移_业务代码编写_文章配置 10_数据迁移_业务代码编写_文章相关其他业务 11_数据迁移_业务代码编写_迁移综合接口编写 12_数据迁移_业务代码编写_迁移综合接口_获取未同步的数据 13_数据迁移_业务代码编写_迁移综合接口_同步数据库到hbase方法编写 14_数据迁移_业务代码编写_迁移综合接口_从hbase中获取数据 15_数据迁移_业务代码编写_热点文章接口1 16_数据迁移_业务代码编写_热点文章接口2 数据迁移-入口操作说明 17_数据迁移_定时同步全量数据 18_数据迁移_文章审核后同步数据 19_数据迁移_热点文章数据同步 20_数据迁移_删除热点文章过期数据及总结






