3. 工程分析平台概述:平台典型架构与看板角色
工程分析平台是承载数据血缘追溯与看板问题定位的核心载体。理解其分层架构,是后续设计血缘方案与看板交互的前提。本节从平台典型架构出发,明确各层职责,并重点阐述看板在平台中的定位与数据流转关系。
3.1 平台典型四层架构
现代工程分析平台普遍采用数据采集层 → 计算层 → 存储层 → 应用层的分层设计。各层职责清晰、解耦独立,便于扩展与维护。
| 架构层 | 核心职责 | 典型组件/技术 | 关键产出 |
|---|---|---|---|
| 数据采集层 | 从工程工具链(Git、CI/CD、监控、日志)中实时或批量获取原始数据 | Flume、Logstash、Kafka Connect、自定义 Agent | 原始事件流、日志文件、API 响应 |
| 计算层 | 对采集数据进行清洗、转换、聚合、血缘解析与指标计算 | Spark、Flink、Airflow、自定义血缘解析引擎 | 清洗后的结构化数据、血缘关系图、聚合指标 |
| 存储层 | 持久化原始数据、中间结果、血缘元数据与看板配置 | HDFS、ClickHouse、Elasticsearch、Neo4j、MySQL | 数据仓库、血缘图数据库、看板快照 |
| 应用层 | 提供看板展示、血缘追溯、问题定位、告警等用户交互功能 | Grafana、Superset、自研 Web UI、REST API | 可视化看板、血缘追溯界面、问题定位报告 |
架构要点:四层之间通过明确的 API 或消息队列解耦。采集层不关心下游如何计算,计算层不关心数据如何存储,存储层不关心应用如何展示。这种设计使得血缘追溯可以跨层追踪,从应用层的看板指标一直回溯到采集层的原始日志。
3.2 平台典型架构 SVG 图
下图展示了工程分析平台的典型四层架构,以及各层之间的数据流向。注意看板位于应用层,但其数据依赖贯穿整个下层链路。
3.3 看板在平台中的角色
看板是工程分析平台面向用户的核心交互界面,它不仅是数据展示的窗口,更是问题发现与定位的起点。看板在平台中承担以下关键角色:
- 数据消费终端:看板是数据经过采集、计算、存储后的最终呈现形式,用户通过看板感知工程状态。
- 血缘追溯入口:用户在看板上发现异常指标(如构建失败率飙升),点击该指标即可触发血缘追溯,查看其数据来源与计算过程。
- 问题定位锚点:看板上的每个图表、每个指标都关联着完整的血缘链路,问题定位从看板开始,逐层下钻到根因。
- 跨层数据汇聚点:一个看板可能同时展示来自采集层的原始日志、计算层的聚合指标、存储层的历史趋势,看板是跨层数据的统一视图。
3.4 看板与各层的数据交互 SVG 图
下图聚焦看板在平台中的具体交互关系,展示看板如何与各层进行数据读写与血缘追溯。
关键理解:看板是血缘追溯的起点,也是问题定位的终点。用户在看板上发现异常 → 点击指标触发血缘追溯 → 系统从血缘图库中查找该指标的数据来源 → 逐层回溯到原始数据源 → 定位问题根因。这个闭环正是本课程后续章节要深入展开的核心流程。
3.5 看板数据血缘追溯的典型场景
为帮助理解看板在平台中的实际作用,下表列举了三个典型场景,说明看板如何与各层协作完成问题定位。
| 场景 | 看板表现 | 血缘追溯路径 | 问题定位结果 |
|---|---|---|---|
| 构建成功率下降 | 折线图显示成功率从 95% 骤降至 60% | 看板指标 → 指标计算服务 → CI/CD 日志 → 具体构建任务 | 发现某次代码合并导致编译错误 |
| 部署耗时异常 | 柱状图显示某环境部署耗时从 5min 增至 30min | 看板指标 → 血缘解析引擎 → 部署流水线日志 → 环境配置变更 | 定位到某台服务器资源不足 |
| 测试覆盖率骤降 | 仪表盘显示覆盖率从 80% 跌至 45% | 看板指标 → 数据仓库 → Git 提交记录 → 测试文件变更 | 发现某次提交删除了大量测试用例 |
常见误区:很多团队将看板仅视为“展示工具”,忽略了看板作为血缘追溯入口的价值。正确的做法是:在看板设计阶段就为每个图表、每个指标绑定血缘元数据,使得点击任意数据点都能自动触发血缘追溯,而不是事后手动排查。