第1章:课程概述与学习目标

1.1 这门课要解决什么问题?

先聊聊背景。

做微服务的朋友都知道,一个请求从入口打到数据库,中间得经过七八个甚至十几个服务。每个服务都可能出问题——超时、报错、丢数据。最头疼的是,你只知道“用户下单失败了”,但到底卡在哪个节点?是商品服务挂了?还是库存扣减超时?

我服务过一家电商平台,双十一大促时突然发现订单量对不上。排查了整整一个下午,最后发现是某个老版本的RPC框架在链路里偷偷断了trace。那一刻我就想,要是有一套完整的分布式链路追踪体系,这种问题十分钟内就能定位。

本课程要解决的核心痛点:

  • 微服务调用链太长,故障根因难以定位
  • 异构系统(HTTP、gRPC、消息队列)之间追踪数据不统一
  • 高并发场景下采样与存储的平衡控制
  • 链路数据如何反哺容量规划和稳定性建设
一句话总结:当你的应用从单体拆成微服务后,你需要一套“数字侦探”来追踪每个请求的完整旅程。本课程就是教你怎么搭建、配置、运维这套侦探系统。

1.2 谁应该学这门课?

说白了,三类人最需要:

角色 为什么需要
后端/微服务开发者 每天跟各种RPC、MQ打交道,排查性能瓶颈是家常便饭
SRE/运维工程师 负责线上稳定性,需要在分钟内定位故障点,降低MTTR
架构师/技术负责人 规划可观测性体系,选型并推动链路追踪落地

嗯,如果你还处于单体应用的阶段,这门课可以提前储备知识——等你拆微服务时,不会像我当年那样走弯路。

一点建议:学习前最好有基本的Java或Go编程经验,了解Spring Cloud或类似微服务框架的基本概念。不用精通,能写个简单的HTTP服务就够了。

1.3 学习路线图

整门课分成五个阶段,共30章。我按照从“知道是什么”到“能动手搭建”再到“能调优扩展”的路径来安排的。

你看看这张图就明白了:

课程学习路线图(30章) 阶段1:基础概念 第1-5章 原理·数据模型·协议 阶段2:搭建部署 第6-11章 Jaeger/Zipkin/OpenTelemetry 阶段3:开发集成 第12-19章 探针·采样·代码instrument 阶段4:运维调优 第20-24章 存储·告警·容量规划 阶段5:进阶实战 第25-30章 多集群·APM集成·故障演练 每阶段特点 基础→搭建→开发→运维→实战 循序渐进,每个阶段都有线上案例 预计学习周期:8~12周(按每天1小时计)

你可能会问:为什么花了那么多章讲基础概念?因为我在项目里遇到过团队直接把OpenTelemetry SDK接上去,结果链路ID格式不统一,不同语言的服务对不上。说白了,概念不清,后面全是坑。

各阶段简要说明:

  1. 基础概念(第1~5章):trace、span、context propagation、Baggage、采样策略。我们会用纯文字+作图的方式把底层逻辑讲透。
  2. 搭建部署(第6~11章):手把手搭一套生产级链路追踪系统。我会用我自己的Docker Compose模板,你直接能复现。
  3. 开发集成(第12~19章):各种场景下如何埋点——HTTP拦截器、gRPC interceptor、消息队列生产者消费者、异步任务。每个场景我都贴过线上代码。
  4. 运维调优(第20~24章):存储选型(Elasticsearch vs Cassandra vs TiDB)、采样率动态调整、Trace与Metrics/Logs联动。曾经有个团队因为采样率配太高直接把ES写爆了,我会讲怎么避免。
  5. 进阶实战(第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就完事。你想想看,省掉重复搭建的时间,直接学核心内容,多划算。

注意:不要在生产环境直接使用All-in-one模式。我见过有人把Jaeger All-in-one当作生产方案,结果数据量一上来直接OOM。我们的课程会专门讲生产级部署方案,请耐心跟着路线走。

1.5 我能从这门课得到什么?

当你学完30章后,应该具备这些能力:

能力 具体表现
故障定位 能在1分钟内通过链路追踪找到慢调用或错误根因
系统搭建 独立部署并配置一套支撑百万级QPS的链路追踪平台
代码埋点 熟练使用OpenTelemetry SDK,覆盖主流协议和异步场景
成本控制 设计合理的采样策略,在数据精度和存储成本之间取得平衡
体系集成 将链路追踪与Metrics、Logs打通,构建完整的可观测性体系

嗯,纸上谈兵可不行。我记得有个学员在学完第8章后,回去就把他们组的调用链梳理了一遍,发现一个第三方服务平均延时200ms,之前一直没人注意到。他发了个邮件,团队把那个服务优化到了50ms——这就是链路追踪的价值。

1.6 写在开始之前

这门课不是那种“看完就忘”的教程。每一章我都会放一段真实经历——包括踩过的坑和你可能掉进去的陷阱。我希望你边看边动手,哪怕只是改个采样率参数,也比纯看十遍有用。

准备好开始了吗?下一节我们直接进入核心概念:什么是Trace和Span,以及它们如何在整个调用链中“溯源”。