第1章:课程概述与学习目标
1.1 这门课要解决什么问题?
先聊聊背景。
做微服务的朋友都知道,一个请求从入口打到数据库,中间得经过七八个甚至十几个服务。每个服务都可能出问题——超时、报错、丢数据。最头疼的是,你只知道“用户下单失败了”,但到底卡在哪个节点?是商品服务挂了?还是库存扣减超时?
我服务过一家电商平台,双十一大促时突然发现订单量对不上。排查了整整一个下午,最后发现是某个老版本的RPC框架在链路里偷偷断了trace。那一刻我就想,要是有一套完整的分布式链路追踪体系,这种问题十分钟内就能定位。
本课程要解决的核心痛点:
- 微服务调用链太长,故障根因难以定位
- 异构系统(HTTP、gRPC、消息队列)之间追踪数据不统一
- 高并发场景下采样与存储的平衡控制
- 链路数据如何反哺容量规划和稳定性建设
1.2 谁应该学这门课?
说白了,三类人最需要:
| 角色 | 为什么需要 |
|---|---|
| 后端/微服务开发者 | 每天跟各种RPC、MQ打交道,排查性能瓶颈是家常便饭 |
| SRE/运维工程师 | 负责线上稳定性,需要在分钟内定位故障点,降低MTTR |
| 架构师/技术负责人 | 规划可观测性体系,选型并推动链路追踪落地 |
嗯,如果你还处于单体应用的阶段,这门课可以提前储备知识——等你拆微服务时,不会像我当年那样走弯路。
1.3 学习路线图
整门课分成五个阶段,共30章。我按照从“知道是什么”到“能动手搭建”再到“能调优扩展”的路径来安排的。
你看看这张图就明白了:
你可能会问:为什么花了那么多章讲基础概念?因为我在项目里遇到过团队直接把OpenTelemetry SDK接上去,结果链路ID格式不统一,不同语言的服务对不上。说白了,概念不清,后面全是坑。
各阶段简要说明:
- 基础概念(第1~5章):trace、span、context propagation、Baggage、采样策略。我们会用纯文字+作图的方式把底层逻辑讲透。
- 搭建部署(第6~11章):手把手搭一套生产级链路追踪系统。我会用我自己的Docker Compose模板,你直接能复现。
- 开发集成(第12~19章):各种场景下如何埋点——HTTP拦截器、gRPC interceptor、消息队列生产者消费者、异步任务。每个场景我都贴过线上代码。
- 运维调优(第20~24章):存储选型(Elasticsearch vs Cassandra vs TiDB)、采样率动态调整、Trace与Metrics/Logs联动。曾经有个团队因为采样率配太高直接把ES写爆了,我会讲怎么避免。
- 进阶实战(第25~30章):多机房链路合并、APM系统(Datadog/Prometheus)集成、故障注入演练。学完这部分你能自己设计一个完整的可观测性平台。
1.4 学习环境准备
别担心硬件要求。一台8GB内存的笔记本就能跑完整套实验。我会提供两个环境:
- 轻量版:Docker Compose + Jaeger All-in-one + 三个示例服务(Go/Java各一个)。适合快速上手。
- 生产模拟版:Kubernetes (Minikube或Kind) + OpenTelemetry Collector + Jaeger + Elasticsearch。适合深入踩坑。
我会在每章给出对应的配置文件,你直接docker-compose up就完事。你想想看,省掉重复搭建的时间,直接学核心内容,多划算。
1.5 我能从这门课得到什么?
当你学完30章后,应该具备这些能力:
| 能力 | 具体表现 |
|---|---|
| 故障定位 | 能在1分钟内通过链路追踪找到慢调用或错误根因 |
| 系统搭建 | 独立部署并配置一套支撑百万级QPS的链路追踪平台 |
| 代码埋点 | 熟练使用OpenTelemetry SDK,覆盖主流协议和异步场景 |
| 成本控制 | 设计合理的采样策略,在数据精度和存储成本之间取得平衡 |
| 体系集成 | 将链路追踪与Metrics、Logs打通,构建完整的可观测性体系 |
嗯,纸上谈兵可不行。我记得有个学员在学完第8章后,回去就把他们组的调用链梳理了一遍,发现一个第三方服务平均延时200ms,之前一直没人注意到。他发了个邮件,团队把那个服务优化到了50ms——这就是链路追踪的价值。
1.6 写在开始之前
这门课不是那种“看完就忘”的教程。每一章我都会放一段真实经历——包括踩过的坑和你可能掉进去的陷阱。我希望你边看边动手,哪怕只是改个采样率参数,也比纯看十遍有用。
准备好开始了吗?下一节我们直接进入核心概念:什么是Trace和Span,以及它们如何在整个调用链中“溯源”。