内容社区课程大纲

2022-12-02T14:11:02+08:00 | 6分钟阅读 | 更新于 2025-12-02T14:11:02+08:00

@

这份大纲怎么用(先读这一段)

这是「内容社区」项目 21章课程的目录导航页,不是某一章的讲义——它帮你建立全局视野、知道每章在整条链路里的位置,而不是一口气啃完。建议先从上到下扫一遍四阶段全景,再按章次顺序点进对应章节细读;遇到看不懂的术语不必卡住,回看前文对应的章次即可。学之前你只需要会一点 Go 基础、MySQL 基本 SQL 和 Docker 入门(详见文末「前置知识清单」),剩下的边做边补。


课程全景与学习路径

整个训练营围绕一个类似「微博 / 小红书」的内容社区项目展开,从单体一步步演进到微服务架构,共分四个阶段:

阶段章次主题核心产出
一·打地基第1-3章Go 基础 / Gin+GORM / JWT+K8s能跑起来的单体 Web 服务,并部署上云
二·工程化第4-9章接口抽象 / SSO / 发帖 / 互动 / 监控 / 榜单掌握测试、缓存、消息队列、可观测性等工程能力
三·微服务第10-15章拆分微服务 / 数据迁移 / 注册发现 / 负载均衡 / 治理 / 支付从单体走向微服务,掌握服务间通信与治理
四·高阶第16-21章评论 / ES 搜索 / ELK / Feed / IM / 总结掌握搜索、日志、Feed 流、IM 等高阶业务与中间件

目录

第一阶段:打地基

  • 第01章 · Go 基础语法 — 类型、接口、泛型、切片/map、Set 封装、并发工具 → 收获:把 Go 的"并发与接口"地基打牢,后面所有代码都建立在这之上。
  • 第02章 · 用户功能与 Gin / GORM 入门 — Gin 路由与中间件、GORM 模型与 CRUD、分层架构、密码加密、Session → 收获:写出第一个能注册登录的 Web 服务,理解"分层架构"为什么是工程标配。
  • 第03章 · JWT 认证与 Kubernetes 部署 — Session vs JWT、Redis 入门、限流、K8s 部署 Web/MySQL/Redis/Ingress → 收获:把服务真正部署上云,并搞懂无状态认证的来龙去脉。

第二阶段:工程化

  • 第04章 · 接口抽象与短信服务与测试 — 登录性能优化、短信登录、依赖注入、单元测试、集成测试、第三方服务治理 → 收获:学会用"面向接口 + DI"解耦第三方依赖,并写出可信的测试。
  • 第05章 · SSO 与微信扫码登录 — OAuth2、微信扫码、长短 token、配置中心、结构化日志 → 收获:掌握单点登录与 OAuth2 套路,顺带建立"日志要结构化"的意识。
  • 第06章 · 发帖功能与缓存 — 文本存储、发帖增强、查询接口、Redis 缓存与三大缓存问题 → 收获:第一次正面解决"缓存穿透/击穿/雪崩",这是后端基本功。
  • 第07章 · 点赞收藏与 Kafka 入门 — 通用互动服务、Redis 计数、Kafka 生产消费、领域事件改造 → 收获:用 Kafka 把"同步调用"改成"异步解耦",打开消息中间件的大门。
  • 第08章 · 监控埋点与可观测性 — 可观测性三支柱、Prometheus、OpenTelemetry、Grafana → 收获:建立"日志/指标/链路"三件套认知,出问题不再两眼一抹黑。
  • 第09章 · 榜单模型与分布式任务调度 — 热度算法、ZSet 排行榜、分布式锁、定时任务调度 → 收获:用 Redis ZSet 做实时榜单,并理解分布式锁的真实用法。

第三阶段:微服务

  • 第10章 · 单体拆分微服务 — 微服务动机、模块化单体、gRPC/Protobuf、DDD、拆分四阶段 → 收获:知道"什么时候该拆、怎么拆",避免为拆而拆。
  • 第11章 · 不停机数据迁移 — 双写、灰度、回滚、数据校验、Kafka 修复 → 收获:掌握线上数据"零停机迁移"这套生产硬本领。
  • 第12章 · 服务注册与发现 — CAP 理论、注册中心对比、ETCD/Consul、gRPC Resolver → 收获:搞懂服务怎么互相找到对方,以及"客户端容错"为何是面试重点。
  • 第13章 · 负载均衡 — 轮询/加权/一致性哈希算法、客户端 vs 服务端 LB、gRPC Picker → 收获:理解"把请求发给最合适的节点"背后的算法取舍。
  • 第14章 · 服务治理:熔断限流降级 — 熔断器状态机、令牌桶/滑动窗口限流、降级策略 → 收获:拿到保护系统的"三板斧",知道级联故障怎么防。
  • 第15章 · 支付服务设计 — 微信支付接入、幂等、对账、打赏功能、分账 → 收获:触碰真实支付链路,理解幂等和对账为什么是钱相关系统的命门。

第四阶段:高阶

  • 第16章 · 评论与用户关系服务 — 树形评论、关注/粉丝关系、共同关注 → 收获:啃下"树形评论 + 关系链",这是社区类产品的数据骨架。
  • 第17章 · ElasticSearch 与搜索服务 — 倒排索引、分词、相关性评分、搜索与标签服务 → 收获:用倒排索引把"按词找内容"做成像百度一样快。
  • 第18章 · ELK 与 Canal — ELK 日志体系、Canal binlog 数据同步 → 收获:搭起日志大盘,并学会"伪装从库"实时同步数据库变更。
  • 第19章 · Feed 流设计与压测 — 推/拉/推拉结合模型、Timeline 设计、k6 压测 → 收获:设计一个能扛百万粉丝的 Feed,并用压测把性能拐点压出来。
  • 第20章 · 即时通讯 IM 服务 — WebSocket、消息可靠投递、离线消息、OpenIM → 收获:用长连接 + Kafka 做出群聊,理解分布式 IM 的跨节点转发。
  • 第21章 · 课程总结与进阶路线 — 21章知识体系总纲、设计原则与模式、成长路线、面试速查 → 收获:把 21章串成一张能力地图,并拿到可复用的面试话术模板。

如何使用这些笔记

  1. 按章顺序学:内容前后有依赖,建议从第01章按顺序看,尤其是前 9章的工程化基础。
  2. 动手敲代码:每个文件都有可运行示例,建议边看边在自己项目里复现,不要只看不练。
  3. 结合视频:笔记是讲义的详细版,遇到看不懂的地方可以回看对应章的视频。
  4. 重点看「工程实践要点」和「小结」:这两节浓缩了生产经验的精华。
  5. 第21章当总纲:学完后回看第21章,它把整个知识体系串了起来,适合复习和面试。

前置知识清单

学完本课程你应当具备(或在学习中补齐)以下基础:

  • Go 语言:goroutine/channel、interface、error 处理、context、模块管理(go mod)
  • 数据库:MySQL 基本 SQL、索引、事务
  • Linux 基础:常用命令、文件权限、进程管理
  • 网络:HTTP 协议、TCP 三次握手、DNS
  • 工具:Git 基本操作、Docker 基本用法

涉及的技术栈

类别技术
语言/框架Go、Gin、GORM、gRPC、Protobuf
存储MySQL、Redis、MongoDB、ElasticSearch
消息队列Kafka
可观测性Prometheus、Grafana、OpenTelemetry、ELK
部署Docker、Kubernetes、Ingress
注册中心ETCD、Consul、Nacos
服务治理熔断器、限流(令牌桶/滑动窗口)、降级
其他Canal(binlog 同步)、OpenIM、微信支付/登录
About Me

没什么想介绍的,一个很大众的码农…

喜欢代码,车,马,真的是 🐎

讨厌别人让我给自己的代码写注释 最厌烦别人的程序没有写注释

目标

学AI,加油!加油!