这门课的主题是 Go 语言方向的后端进阶,落点很明确:即时通讯系统的架构设计与实现。它不教 Go 语法入门,也不讲怎么写出第一个 HTTP 接口,而是把注意力放在一个真实业务形态上——IM 这种长连接密集、消息量大、在线状态复杂的场景,架构该怎么想、怎么拆、怎么演进。

它解决的是"会写代码但不会设计系统"这个坎

很多人写了两三年业务代码,日常是接需求、改接口、调 SQL,一旦被要求"设计一个消息系统"或者"把现有单体拆成微服务",就容易卡住:不知道该按什么维度切分,不知道分层和微服务各自的代价在哪,也说不清为什么选 A 不选 B。这门课正是冲这个场景来的。它从架构的基础抓手讲起,把单体、分层、RPC、微服务几种形态逐个拆开,分析各自的优劣势和适用边界,再放到 IM 这个具体业务里做推演。学完之后,你至少能在评审会上讲清楚一套方案的取舍,而不是只会说"大家都这么做"。

适合什么基础,以及建议的观看顺序

前提是你能读懂 Go 代码,写过一个完整的服务端项目,对接口、并发、数据库有基本概念。如果连 goroutine 和 channel 都用不熟,先补语言基础再来。顺序上建议不要从第一节顺着播:先看导学部分,建立这门课的问题意识;然后重点啃"解读软件架构"这一块,尤其是单体扩展、分层模型、RPC 案例、微服务优劣与扩展性这几节,它们是后面所有讨论的地基。二手电商那个案例可以当作知识迁移的练习,看它怎么把同一套分析框架用到别的业务上。IM 系统的演进部分放在最后看,效果会更好,因为那时你已经有了判断架构好坏的尺子。

学完能独立做什么,资料怎么配合

比较现实的目标是:你能独立完成一个中小型 IM 后端的架构设计文档,说清楚连接层、逻辑层、存储层怎么划分,消息投递的链路怎么走,以及在用户量增长时先动哪一块。这不是让你照着抄一套大厂架构,而是具备自己判断和演进的能力。资料以视频为主,可以本地播放,适合通勤或整块时间看。建议的用法是:每看完一个架构形态,就对着自己手上的项目问一遍——它现在属于哪种形态,瓶颈可能在哪,如果换成另一种会付出什么代价。把答案写下来,比反复刷视频有用得多。架构这部分内容看一遍很难内化,二刷时重点看自己第一遍没想明白的取舍逻辑。

课程目录

课程目录17 集
  • Go进阶 IM系统设计与落地,单体到微服务深度剖析 本版本是mp4 不需要播放 直接本地播放 📁 mksz960-Go工程师进阶 IM系统架构设计与落地  📁 2-解读软件架构—掌握架构设计抓手  📁 1-IM系统架构演进—课程导学    📄 1-1 AI都能写代码了,工程师的核心价值在哪?.mp4
  •    📄 2-15 分析微服务架构优劣势,掌握适用场景(2).mp4
  •    📄 2-10 分析分层架构优劣势,明确适用场景.mp4
  •    📄 2-12 三维模型,深入理解微服务扩展性.mp4
  •    📄 2-5 单体架构如何扩展?掌握通用扩展方案.mp4
  •    📄 2-8 什么是分层架构?掌握分层架构模型.mp4
  •    📄 2-6 分析单体架构优劣势,明确适用场景.mp4
  •    📄 2-3 剖析RPC架构案例,彻底掌握架构本质.mp4
  •    📄 2-16 剖析二手电商,扩展知识应用.mp4
  •    📄 2-11 什么是微服务架构?掌握微服务架构模型.mp4
  •    📄 2-2 什么是软件架构?理解三要素把握架构本质.mp4
  •    📄 2-13 普适架构,整体把握微服务架构设计.mp4
  •    📄 2-14 分析微服务架构优劣势,掌握适用场景(1).mp4
  •    📄 2-9 架构分层原则,实现软件设计的合理分层.mp4
  •    📄 2-4 什么是单体架构?掌握单体架构模型.mp4
  •    📄 2-1 一张图,通览全章.mp4
  •    📄 2-7 架构如何拆分?掌握架构拆分利器.mp4