1. 课程导论:分布式链路追踪与 Jaeger 概述,课程目标与学习路径

1.1 为什么需要分布式链路追踪?

在单体应用时代,一次请求的调用栈清晰可查,日志、指标和异常堆栈足以定位绝大多数问题。当架构演进为微服务、Serverless 和 Service Mesh 后,一个用户请求往往跨越数十甚至上百个服务节点。传统的监控手段(单机日志、聚合指标)只能告诉你“哪个服务慢了”,却无法回答“这个慢请求到底经过了哪些服务?瓶颈在哪一环?”。

分布式链路追踪(Distributed Tracing)正是为解决这一困境而生。它通过为每个请求注入全局唯一的 Trace ID,在服务间传递上下文,完整记录请求从入口到出口的完整调用拓扑与耗时细节。

核心价值:从“黑盒”到“白盒”,让分布式系统中的每一次调用都有迹可循。

1.2 Jaeger 是什么?

Jaeger 是 CNCF(云原生计算基金会)毕业的开源分布式追踪系统,最初由 Uber 开发并捐赠。它基于 Google Dapper 设计,提供端到端的请求追踪、服务拓扑分析、性能诊断与根因定位能力。

特性 说明
开源与生态 CNCF 毕业项目,与 Prometheus、Grafana、Kubernetes 深度集成
多语言 SDK 支持 Go、Java、Python、Node.js、C++ 等主流语言
存储后端 支持 Cassandra、Elasticsearch、Kafka、Badger 等多种存储
采样策略 头部采样、尾部采样、自适应采样,兼顾性能与数据完整性
UI 与 API 提供可视化查询界面、服务拓扑图、Trace 对比、gRPC/HTTP API

1.3 Jaeger 核心架构

Jaeger 的架构分为客户端(Agent/Collector)和服务端(Query/UI),数据流清晰可扩展。下图展示了 Jaeger 的核心组件与数据流转路径。

Jaeger 核心架构图 Jaeger 核心架构与数据流 服务 A 服务 B 服务 C Jaeger Agent Jaeger Collector 存储后端 Query / UI 数据流方向 Span → Agent Agent → Collector Collector → 存储

1.4 课程目标

本课程不是单纯的 Jaeger 工具操作手册,而是围绕“服务画像”与“配置发布故障快速定位”两个核心场景,构建一套可复用的链路数据驱动诊断体系。完成本课程后,你将能够:

  • 掌握 Jaeger 部署与配置:从单机到生产级集群部署,理解采样、存储、UI 调优。
  • 构建服务画像:利用链路数据提取服务依赖、调用频率、延迟分布、错误模式,形成服务健康基线。
  • 配置发布故障定位:在配置变更、版本发布、灰度上线等场景中,通过链路对比与异常检测,分钟级定位根因。
  • 集成可观测性栈:将 Jaeger 与 Prometheus、Grafana、Loki 联动,实现 Metrics、Logs、Traces 三位一体。
课程定位:面向 SRE、后端开发、可观测性工程师,要求具备基础的微服务与容器化知识。无需提前掌握 Jaeger。

1.5 学习路径与章节地图

课程共 30 章,分为四个阶段,循序渐进。下表展示了每个阶段的核心主题与产出物。

阶段 章节范围 核心主题 阶段产出
基础篇 第 1-8 章 链路追踪原理、Jaeger 部署、SDK 接入、采样策略 可运行的 Jaeger 集群 + 示例应用链路数据
画像篇 第 9-16 章 服务拓扑构建、延迟基线、错误模式、依赖分析 服务画像仪表盘 + 基线告警规则
定位篇 第 17-24 章 配置发布故障场景、Trace 对比、根因分析、混沌工程 故障定位 SOP + 自动化分析脚本
进阶篇 第 25-30 章 大规模部署、自适应采样、与 Service Mesh 集成、AIOps 探索 生产级 Jaeger 架构方案 + 智能诊断原型

建议学习者按照章节顺序推进,每章结束后完成配套实验。基础篇与画像篇是后续定位篇的基石,切勿跳跃。

1.6 本章小结

  • 分布式链路追踪是微服务可观测性的核心支柱,Jaeger 是 CNCF 生态中最成熟的追踪系统之一。
  • Jaeger 架构由 Agent、Collector、存储、Query/UI 四层组成,数据流清晰,易于水平扩展。
  • 本课程以“服务画像”和“配置发布故障定位”为双主线,覆盖从部署到智能诊断的全链路。
  • 学习路径分为基础、画像、定位、进阶四个阶段,建议按顺序完成。
课前准备:请确保本地或云端具备 Docker / Kubernetes 运行环境,并安装好 Jaeger All-in-One 镜像(jaegertracing/all-in-one:latest)用于后续实验。