从零到一视频学习
每个人的最佳学习路径都不同:有人偏爱系统化文档,有人更喜欢跟着视频动手实战。
在打造 12306 铁路购票系统 时,我写下了大量源码解析、架构设计与从 0 到 1 的实践文档——最终沉淀为 约 130 篇文章、近 20 万字 的“12306 超级文档库”。
与此同时,也有不少同 学更希望“视频 + 文档”的组合式学习体验。我们这边一向只要建议合理就果断支持,于是从 SaaS 短链接 项目开始,我把大家的反馈融进了产出节奏,给出了一套更完整的学习形态。
为什么值得学?
- 体系完整:110+ 节视频、30–40 小时,覆盖从需求分析、架构设计、编码联调、压测上线到运维监控的全链路。
- 真·从零实战:课程代码全程现场从零编写,不贴模板、不走过场,可直接复刻企业级短链接系统。
- 工程化导向:不限于“能跑”,更强调可扩展、可观测、可维护、可灰度等生产级能力。
- 双轨学习:视频 + 配套文档(星球内部“短链接文档库”),按顺序学更丝滑,效率更高。
录制过程中不仅讲“怎么做”,也会延展到架构取舍、边界抽象、可扩展性设计等更“工程化”的思考。
技术架构
项目采用 JDK 17 + Spring Boot 3 + Spring Cloud 的微服务体系,围绕“高并发、高可靠、可观测、可扩展”构建短链接核心能力,确保在大数据 量场景下依然高效稳定。
通过这一项目,你不仅能吃透短链接的生成、存储、路由、统计、高并发等机制,还能顺带吸收新技术栈带来的实践要点,拓展技术视野、提升工程化落地能力。
你将收获
- 能独立搭建一套可上线的 SaaS 短链接系统(支持海量并发与海量数据)。
- 深入掌握分库分表、缓存治理、布隆过滤器、消息队列、链路监控、风控限流等核心能力。
- 形成面向生产的工程化思维:边界抽象、模块解耦、稳定性保障、指标与告警体系。
如何查看?
SaaS 短链接系统和 12306 铁路购票系统都在「拿个offer-开源&项目实战」社群,加入后可享受所有社群福利。
关于「拿个offer-开源&项目实战」社群有哪些隐藏福利,🔥🔥🔥 点击查看:🔋知识星球
加入付费社群多少钱?星球价格不会很贵,我预计星球最终价格是 399 元,目前不需要优惠券价格 226 元。
我做拿个offer的初心是提供程序员校招到社招五年的项目,所以项目列表会持续不断新增,什么时候涨价我也不知道。如果想加星球的同学可以趁现在价格便宜入手。
这个价格相较于某些培训机构上千元的课程,绝对称得上是良心价, 而且课程质量也绝不逊于这些机构。更重要的是,加入星球后不会有其它额外收费服务,包括后续新开的项目,坚决不割韭菜。
步骤 ①:微信扫描下方二维码,点击 [ 加入知识星球 ] 按钮。
步骤 ②:访问星球置顶主题 https://t.zsxq.com/10rglb8Jg,获取项目配套文档语雀访问地址。

加入星球后,添加马哥微信并备注“星球”。我会拉你进星球专属会员沟通群,以及发给你详细的星球操作指南。
星球专属会员群里不定期组织抽书活动和🧧,更有已经上岸的offer“收割机”们分享自己的面试成功经验。
视频观看教程
通过 知识星球 App 或 知识星球网站 多端同步,随时随地学习星球短链接项目的视频课程。
所有视频均按学习路径精心编排,建议按顺序观看;配合星球内的短链接文档,带你从 0 到 1 顺滑上手。
从零到一视频教程
1. 快速开始
- 第01节:从零到一创建短链接项目 https://t.zsxq.com/19aSI1cM9
- 第02节:从零到一创建短链接子模块项目 https://t.zsxq.com/19mwiwZSC
- 第03节:整体项目包目录介绍 https://t.zsxq.com/19vqcnfsd
- 第04节:项目接口文档工具介绍 https://t.zsxq.com/199zkbpWX
2. 用户管理
- 第01节:用户模块功能分析 https://t.zsxq.com/19wPo8mUg
- 第02节:创建用户数据库表 https://t.zsxq.com/19Gg5Ov4S
- 第03节:查询用户信息功能 https://t.zsxq.com/19ZXjldI6
- 第04节:统一全局返回实体对象 https://t.zsxq.com/19Ez03HBG
- 第05节:业务全局异常码设计 https://t.zsxq.com/19Vqqlth6
- 第06节:业务全局异常拦截器 https://t.zsxq.com/19zGisORX
- 第07节:用户敏感信息接口返回脱敏 https://t.zsxq.com/19eGkrdPO
- 第08节:检查用户名是否存在功能 https://t.zsxq.com/19lBaNyvs
- 第09节:如何防止检查用户名缓存穿透(理论篇) https://t.zsxq.com/19B1PhE7n
- 第10节:如何防止检查用户名缓存穿透(实战篇) https://t.zsxq.com/19sN3g84h
- 第11节:用户如何实现海量请求注册功能 https://t.zsxq.com/199Fk447n
- 第12节:海量用户如何分库分表(上) https://t.zsxq.com/192HUl3nA
- 第13节:海量用户如何分库分表(下) https://t.zsxq.com/19l1Dd9Uu
- 第14节:用户敏感信息如何实现加密存储 https://t.zsxq.com/19FsArulY
- 第15节:用户个人信息修改功能 https://t.zsxq.com/19dszuOlS
- 第16节:用户系统登录功能 https://t.zsxq.com/19RrOR114
- 第17节:用户退出登录功能 https://t.zsxq.com/19jFMsJ8c
3. 短链接分组
- 第01节:短链接分组模块功能分析 https://t.zsxq.com/19hNK2qzu
- 第02节:创建短链接分组数据库表 https://t.zsxq.com/19jmAUk8c
- 第03节:新增短链接分组功能 https://t.zsxq.com/19aR4sLMA
- 第04节:查询短链接分组功能 https://t.zsxq.com/19FJxLlTa
- 第05节:拦截器封装用户上下文功能 https://t.zsxq.com/19iL0BhVT
- 第06节:修改短链接分组功能 https://t.zsxq.com/19PdiBja7
- 第07节:删除短链接分组功能 https://t.zsxq.com/19SmuVYqH
- 第08节:短链接分组排序功能 https://t.zsxq.com/19jOVheCy
4. 短链接管理
- 第01节:短链接模块功能分析 https://t.zsxq.com/191dF6TQV
- 第02 节:短链接跳转原始链接原理 https://t.zsxq.com/19qwnMY0l
- 第03节:创建短链接数据库表 https://t.zsxq.com/19ngwcmDv
- 第04节:新增短链接(上) https://t.zsxq.com/19CEuABsq
- 第05节:新增短链接(中) https://t.zsxq.com/19FpR8uIj
- 第06节:新增短链接(下) https://t.zsxq.com/19Hr9seUe
- 第07节:短链接海量数据分片分表 https://t.zsxq.com/19EXWNlNd
- 第08节:拦截器封装用户上下文(补充篇) https://t.zsxq.com/197MvXpOc
- 第09节:分页查询短链接列表 https://t.zsxq.com/19Ql5XDPc
- 第10节:后管联调中台短链接接口 https://t.zsxq.com/19kpKa8FR
- 第11节:创建用户后默认添加短链接分组(上) https://t.zsxq.com/19LMyQMse
- 第12节:创建用户后默认添加短链接分组(下) https://t.zsxq.com/19XNkKIyD
- 第13节:短链接信息修改 https://t.zsxq.com/19gCXeRDg
- 第14节:短链接跳转原始链接 功能(上) https://t.zsxq.com/198frWHdr
- 第15节:短链接跳转原始链接功能(下) https://t.zsxq.com/19w5O5wL4
- 第16节:短链接跳转原始链接功能(缓存击穿) https://t.zsxq.com/190BEK1ZH
- 第17节:短链接跳转原始链接功能(缓存穿透) https://t.zsxq.com/19aUSyfy2
- 第18节:短链接跳转原始链接功能(缓存预热) https://t.zsxq.com/19pZBNGUq
- 第19节:短链接跳转原始链接功能(区分过期短链) https://t.zsxq.com/19yAgMHGS
- 第20节:短链接不存在跳转指定页面功能 https://t.zsxq.com/199y2o4qc
- 第21节:获取目标网站标题功能 https://t.zsxq.com/19UPzcauq
- 第22节:获取目标网站图标功能 https://t.zsxq.com/19PLn2UNx
5. 回收站管理
- 第01节:回收站模块功能分析 https://t.zsxq.com/19vjXrH2a
- 第02节:短链接移至回收站功能 https://t.zsxq.com/19JS9POxK
- 第03节:回收站分页查询功能(上) https://t.zsxq.com/19pAAuJVH
- 第04节:回收站分页查询功能(下) https://t.zsxq.com/19e40ffTd
- 第05节:回收站恢复短链接功能 https://t.zsxq.com/19LDvrxiS
- 第06节:回收站移除短链接功能 https://t.zsxq.com/19IOlgPCO
6. 短链接监控
- 第01节:短链接统计模块功能分析 https://t.zsxq.com/19ZyLIKbA
- 第02节:短链接统计模块数据库表设计 https://t.zsxq.com/19RAKwksq
- 第03节:如何统计短链接PV访问 https://t.zsxq.com/19fyaiQxW
- 第04节:如何统计短链接UV访问 https://t.zsxq.com/19QokcR0I
- 第05节:如何统计短链接IP访问 https://t.zsxq.com/19Ez1Maqi
- 第06节:如何统计短链接地区访问 https://t.zsxq.com/193fNhZgy
- 第07节:如何统计短链接操作系统访问 https://t.zsxq.com/19okF88TZ
- 第08节:如何统计短链接浏览器访问 https://t.zsxq.com/19pZVvmAH
- 第09节:如何统计短链接高频IP访问 https://t.zsxq.com/19WXFUFMt
- 第10节:如何统计短链接访客类型访问 https://t.zsxq.com/192XUAV90
- 第11节:如何统计短链接访问设备访问 https://t.zsxq.com/19UzaHIR1
- 第12节:如何统计短链接访问网络访问 https://t.zsxq.com/19ssElNSh
- 第13节:如何开发访问单个短链接监控统计功能 https://t.zsxq.com/19aV6uxCy
- 第14节:如何记录短链接访问日志 https://t.zsxq.com/190wm4Kqd
- 第15节:分页查询短链接访问日志 https://t.zsxq.com/19jYojfdq
- 第16节:分页查询短链接今日以及历史访问信息设计 https://t.zsxq.com/19Ya7szir
- 第17节:如何统计短链接汇总访问数据 https://t.zsxq.com/19nVd7jNm
- 第18节:如何统计短链接监控之今日数据访问 https://t.zsxq.com/19ihUX3N1
- 第19节:分页查询短链接监控数据排序功能 https://t.zsxq.com/19WEYh1wS
- 第20节:如何统计短链接监控之指定时间内PV、UV、UIP数据 https://t.zsxq.com/19GRHBmxg
- 第21节:如何统计分组短链接监控数据 https://t.zsxq.com/19vltjIGt
- 第22节:分页查询分组短链接访问日志 https://t.zsxq.com/19tNzneWl
7. 功能扩展
- 第01节:短链接创建时指定默认域名 https://t.zsxq.com/19bclpmOL
- 第02节:如何通过接口批量创建短链接 https://t.zsxq.com/19yBQTZ8j
- 第03节:修复短链接跳转空指针问题 https://t.zsxq.com/19rIVuCY2
- 第04节:修复短链接修改有限期后无法跳转问题 https://t.zsxq.com/19zJiEB6V
- 第05节:短链接变更分组记录功能 https://t.zsxq.com/19T9mAxKO
- 第06节:短链接创建和修改验证跳转链接白名单 https://t.zsxq.com/19udBhlQs
- 第07节:变更用户已登录状态下异常行为 https://t.zsxq.com/19ZbImhrA
- 第08节:用户创建分组限制最大数量 https://t.zsxq.com/19GhvNdpu
- 第09节:短链接验证布隆过滤器域名冲突 https://t.zsxq.com/19lZDJpNI
- 第10节:公网环境部署系统如何做流量风控(上) https://t.zsxq.com/19Jgm8Icm
- 第11节:公网环境部署系统如何做流量风控(下) https://t.zsxq.com/19HRhJDLs
- 第12节:消息队列重构短链接监控功能 https://t.zsxq.com/19OgUBmsu
- 第13节:消息队列重复消费问题如何解决(上) https://t.zsxq.com/19iCy0ldl
- 第14节:消息队列重复消费问题如何解决(下) https://t.zsxq.com/19Ss4HuEA
- 第15节:短链接Redis缓存命名重构 https://t.zsxq.com/195YYkRbi
- 第16节:短链接生成重复为什么要再查询数据库? https://t.zsxq.com/19FJu5hCW
8. 微服务改造
- 第01节:如何改造为微服务架构? https://t.zsxq.com/197rPRG2o
- 第02节:如何将项目改造为微服务调用(上) https://t.zsxq.com/19VyJTh2Z
- 第03节:如何将项目改造为微服务调用(下) https://t.zsxq.com/19zXxa6R6
- 第04节:引入网关架构SpringCloud-Gateway(上) https://t.zsxq.com/19oRlaicj
- 第05节:引入网关架构SpringCloud-Gateway(下) https://t.zsxq.com/19cwQxmjm
- 第06节:开发短链接聚合服务(上) https://t.zsxq.com/19V8oKl9A
- 第07节:开发短链接聚合服务(下) https://t.zsxq.com/19ZueKZ4J
- 第08节:线上环境部署短链接服务(聚合服务) https://t.zsxq.com/19SXrensQ
- 第09节:如何通过域名访问线上服务 https://t.zsxq.com/19nCgHeEU
9. 性能优化&问题修复
- 第01节:布隆过滤器比分布式锁性能高多少倍? https://t.zsxq.com/19qJRUCyI
- 第02节:注册用户异常信息返回错误 https://t.zsxq.com/19wgBhcoJ
- 第03节:重构读写锁&延迟队列功能 https://t.zsxq.com/19WFNH9c1
- 第04节:修复幂等&Redis-Stream消息队列线上消费停止问题 https://t.zsxq.com/19wP11zuR
- 第05节:Redis-Stream消息队列重构为RocketMQ https://t.zsxq.com/19uAxXHYG
- 第06节:重构短链接分组监控以及其他优化 https://t.zsxq.com/19f05mZLu
- 第07节:监控保存Gid错误&短链唯一 https://t.zsxq.com/19m0dZyw1
- 第08节:优化大量空缓存查询数据库&修复后管限流逻辑 https://t.zsxq.com/19n64Dqu5
- 第09节:修复用户访问短链接监控数据横向越权问题 https://t.zsxq.com/2TwUZ
- 第10节:优化监控跨时间异常以及消息幂等方法命名 https://t.zsxq.com/AeIZF
- 第11节:Redis-Stream消息队列问题答疑 https://t.zsxq.com/9Iz23