1. 课程导学:分布式追踪值班台高可用部署的整体架构与学习路径

本课程面向 SRE 工程师、平台架构师与可观测性运维人员,聚焦于将 Jaeger 从“开发调试工具”升级为“生产级高可用分布式追踪值班台”。课程围绕三大核心目标展开:数据不丢、查询不断、故障可巡。

1.1 值班台架构全景

生产级 Jaeger 部署不再是单点 All-in-One 进程,而是由多个独立组件构成的数据管道。下图展示了本课程将要搭建的完整值班台架构:

Jaeger 高可用值班台架构全景 Jaeger 高可用值班台架构全景 数据源层(Instrumentation) Go / Java Agent Python / Node.js Envoy / Istio OpenTelemetry SDK gRPC / HTTP 中间件 采集层(Collector) Jaeger Collector (HPA) Kafka 缓冲层 Ingester 消费组 采样策略 存储层(Storage Backend) Elasticsearch 集群 Cassandra 集群 Badger / 内存 (测试) 查询与值班台(Query & UI) Jaeger Query (HA) Jaeger UI (值班台) Grafana 集成 告警对接 Prometheus + Grafana 组件监控 / 值班告警
架构要点:本课程采用“采集 → 缓冲 → 存储 → 查询”四层分离架构。每一层都设计了故障隔离与弹性伸缩策略,确保单点故障不会导致追踪数据丢失或值班台不可用。

1.2 课程学习路径

课程共分为 6 个模块、30 个章节,从基础概念逐步深入到生产级运维。下表列出了各模块的核心内容与学习目标:

模块 章节范围 核心内容 学习目标
模块一
基础与架构
第 1-5 章 Jaeger 数据模型、Span/Trace 概念、架构组件、部署模式对比 理解分布式追踪原理,掌握 All-in-One 与生产部署的差异
模块二
高可用采集
第 6-11 章 Collector 水平扩展、Kafka 缓冲、采样策略、背压处理 搭建可弹性伸缩的采集管道,确保高吞吐下数据不丢失
模块三
存储高可用
第 12-17 章 ES 集群调优、索引生命周期、Cassandra 部署、数据备份恢复 构建持久化存储层,支持海量 Span 的快速写入与查询
模块四
查询与值班台
第 18-23 章 Query 服务 HA、UI 定制、Grafana 集成、Trace 搜索优化 打造 7×24 可用的值班查询台,支撑故障快速定位
模块五
监控与告警
第 24-27 章 组件指标采集、SLO 定义、告警规则、值班 On-Call 流程 建立追踪系统的可观测性闭环,实现主动发现故障
模块六
实战与演练
第 28-30 章 混沌工程注入、故障演练、容量规划、升级回滚 通过实战验证架构韧性,形成可复用的运维手册

1.3 值班台高可用设计原则

在课程中,我们将反复强调以下三条设计原则,它们贯穿整个部署架构:

  • 无状态优先:Collector 与 Query 服务设计为无状态,通过前置负载均衡(如 Nginx / Envoy)实现流量分发与故障转移。
  • 缓冲隔离:引入 Kafka 作为采集与存储之间的缓冲层,避免存储抖动直接冲击采集端,同时提供数据重放能力。
  • 降级与限流:当后端存储或 Kafka 出现延迟时,Collector 自动触发降级采样或背压机制,优先保障核心服务的追踪数据完整性。
生产环境基线:本课程所有部署方案均基于 Kubernetes 环境,使用 Helm Chart 进行组件编排。课程提供完整的 values.yaml 配置示例,可直接用于生产集群。

1.4 课程前置知识与环境准备

为获得最佳学习效果,建议学员具备以下基础:

领域 必备知识 推荐资源
Kubernetes Pod、Service、Deployment、HPA 基本操作 K8s 官方教程 / CKAD 课程
可观测性基础 了解 Metrics、Logging、Tracing 三大支柱 OpenTelemetry 入门文档
存储系统 Elasticsearch 或 Cassandra 基本概念 ES 官方指南 / Cassandra 基础
消息队列 Kafka 主题、生产者、消费者概念 Kafka 官方快速入门

课程实验环境推荐配置:

  • Kubernetes 集群(≥ 3 节点,8C16G 以上)
  • Helm 3.8+ 与 kubectl 命令行工具
  • Jaeger Operator 或官方 Helm Chart(课程将提供具体版本锁定)
  • 可选:本地 Kind / Minikube 集群用于快速验证

1.5 课程产出与交付物

完成本课程后,你将获得以下可直接用于工作的产出:

  1. 生产级 Helm 部署包:包含 Collector HPA、Kafka 缓冲、ES 索引模板、Query HA 的完整配置。
  2. 值班台 Dashboard 模板:Grafana 监控大盘,覆盖组件健康、吞吐量、延迟、错误率等核心指标。
  3. 故障演练剧本:3 套混沌工程实验方案(网络分区、存储降级、采集过载),附带验证步骤与回滚脚本。
  4. 运维手册模板:涵盖日常巡检、扩容流程、数据备份恢复、版本升级的标准操作流程(SOP)。
注意:本课程不涉及 Jaeger 的 SDK 埋点开发细节。我们假设你的服务已经通过 OpenTelemetry 或 Jaeger Client 完成埋点,课程聚焦于后端管道的部署与运维。

1.6 学习建议与节奏

建议按照以下节奏推进学习:

  • 第 1-2 周:完成模块一与模块二,搭建最小可用采集管道,理解数据流转。
  • 第 3-4 周:完成模块三与模块四,接入存储并部署值班台 UI,实现端到端查询。
  • 第 5 周:完成模块五,配置监控告警,让值班台具备主动发现能力。
  • 第 6 周:完成模块六,进行故障演练,验证架构韧性并完善运维手册。

每章末尾都配有 动手实验 与 自检清单,建议在真实或模拟环境中完成操作后再进入下一章。

课程学习路径时间线 推荐学习路径时间线 1-2周 模块一+二 采集管道 3-4周 模块三+四 存储+查询 第5周 模块五 监控告警 第6周 模块六 故障演练