1. 课程导论:云原生日志平台架构全景、etcd在日志平台中的核心角色、压测沙盘与水位复核的定义与目标

1.1 云原生日志平台架构全景

在云原生环境下,日志平台需要应对海量、高并发、多租户的日志采集、传输、存储与查询挑战。一个典型的云原生日志平台采用微服务 + 事件驱动架构,核心组件包括采集层、缓冲层、计算层、存储层与查询层。

架构核心原则: 日志数据流从 Agent 采集 → Kafka 缓冲 → Flink/Logstash 加工 → 后端存储(Elasticsearch / Loki / ClickHouse)→ 查询 API 对外暴露。etcd 作为分布式协调与元数据存储,贯穿整个控制面。

下表列出日志平台各层的关键组件及其职责:

层级 组件 核心职责 etcd 关联
采集层 Fluentd / Filebeat / OpenTelemetry Collector 容器标准输出、文件、系统日志采集 配置下发、采集任务调度
缓冲层 Kafka / Pulsar 削峰填谷、解耦生产与消费 Topic 元数据、分区分配
计算层 Flink / Logstash / Vector 日志解析、字段提取、路由分发 作业状态、分布式锁
存储层 Elasticsearch / Loki / ClickHouse 日志索引、压缩、持久化 集群成员、shard 分配、租约
查询层 Grafana / Kibana / 自研 API 日志检索、聚合、告警 用户权限、数据源注册
控制面 etcd 元数据存储、服务发现、配置管理、分布式协调 —
云原生日志平台架构全景 采集层 Fluentd / Filebeat / OTel 缓冲层 Kafka / Pulsar 计算层 Flink / Logstash 存储层 Elasticsearch / Loki / ClickHouse 查询层 Grafana / Kibana / 自研 API 控制面:etcd 元数据 / 协调 / 配置 说明 虚线表示 etcd 控制面 与各层元数据交互

1.2 etcd 在日志平台中的核心角色

etcd 作为云原生日志平台的控制面中枢,承担以下关键职责:

  • 元数据存储: 存储日志流配置、采集任务状态、索引映射、租户信息等核心元数据。
  • 服务发现与注册: 采集 Agent、计算作业、存储节点通过 etcd 进行注册与健康检查。
  • 分布式协调: 实现 Leader 选举、分布式锁、任务分配,确保高可用与一致性。
  • 配置管理: 动态下发日志采集规则、过滤条件、路由策略,支持热更新。
  • Prometheus 远端写入水位记录: 记录每个写入请求的进度、偏移量、背压状态,是压测复核的关键数据源。
关键洞察: 在日志平台中,etcd 的写入 QPS 与延迟直接决定控制面的响应速度。Prometheus 远端写入到 etcd 的“水位”指标(如写入偏移量、pending 请求数)是评估系统健康度的核心信号。

1.3 压测沙盘与水位复核的定义与目标

1.3.1 压测沙盘定义

压测沙盘是一个隔离的、可复现的测试环境,用于模拟日志平台在极端负载下的行为。它包含完整的日志采集、缓冲、计算、存储链路,并注入可控的 Prometheus 远端写入压力,重点观测 etcd 的写入水位变化。

1.3.2 水位复核定义

水位复核是指在压测过程中,对 etcd 的写入负载指标进行实时采集、记录与对比分析,验证系统是否达到预期的容量阈值,并发现潜在的瓶颈点。

1.3.3 核心目标

目标维度 具体描述 衡量指标
容量验证 确定 etcd 在日志平台场景下的最大写入吞吐 峰值 QPS、P99 延迟
稳定性评估 观察持续高压下 etcd 是否出现抖动、OOM、Raft 分裂 错误率、Leader 切换次数
背压响应 验证 Prometheus 远端写入背压机制是否有效保护 etcd pending 请求数、拒绝率
水位基线 建立不同负载等级下的 etcd 写入水位基线 磁盘 IO、网络带宽、内存占用
故障注入 模拟网络分区、节点宕机,验证 etcd 的容错与恢复能力 恢复时间、数据一致性
压测沙盘与水位复核流程 压测沙盘 隔离测试环境 完整日志链路 + 压力注入 Prometheus 远端写入 模拟高并发写入请求 控制写入速率与数据量 etcd 水位采集 实时监控写入 QPS 延迟、pending 请求 水位复核 对比基线 → 识别瓶颈 → 输出报告 输出:容量基线 / 优化建议 指导生产环境容量规划
注意: 水位复核不是一次性活动,而是持续迭代的过程。每次压测后需更新基线,并与生产环境指标进行对比,确保沙盘结论可迁移。

1.4 本章小结