4. 巡检系统架构设计:整体巡检流程架构图

金融特征 PSI 缺失巡检系统需要处理海量时序特征数据,并保证每日巡检的时效性与准确性。一个分层清晰的架构能够将数据采集、指标计算、异常告警与可视化展示解耦,便于各模块独立扩展与维护。本章详细阐述四层架构的设计方案及各模块职责。

4.1 整体巡检流程架构图

下图展示了巡检系统的核心分层结构,数据从左至右依次流经采集层、计算层、告警层与展示层,最终形成从原始数据到决策支持的完整闭环。

金融特征PSI缺失巡检系统架构图 金融特征 PSI 缺失巡检系统架构图 数据采集层 Hive / HDFS 批量拉取 Kafka 实时流接入 API 接口定时同步 数据质量预检 字段格式标准化 缺失值标记 计算层 Spark 批量计算引擎 Flink 实时计算引擎 PSI 指标计算 缺失率统计 分布偏移检测 结果持久化 (MySQL/ES) 告警层 阈值规则引擎 动态基线比对 告警分级 (P0/P1/P2) 告警去重与聚合 通知渠道分发 告警升级策略 展示层 Grafana 看板 PSI 趋势曲线 缺失热力图 告警事件列表 日报/周报导出 自助分析查询 数据流方向:采集层 → 计算层 → 告警层 → 展示层,各层通过消息队列或 RPC 接口解耦 支持水平扩展,单层故障不影响其他层正常运行

4.2 各模块职责与交互关系

四层架构中每一层都承担独立的职责,并通过标准化的接口与上下游进行数据交互。下表详细列出了各层的主要职责、核心组件及交互方式。

架构层 核心职责 关键组件 输出/交互方式
数据采集层 从多源异构数据源拉取特征数据,完成格式校验与缺失标记 DataX、Canal、Kafka Connect、自定义采集 Agent 输出标准化 JSON/Avro 消息至 Kafka Topic;或写入 Hive 分区表供批量读取
计算层 执行 PSI 指标计算、缺失率统计、分布偏移检测,并持久化结果 Spark Structured Streaming、Flink Job、MySQL、Elasticsearch 计算结果写入 MySQL 指标表;实时结果写入 ES 索引;通过 Redis 缓存中间结果
告警层 基于规则引擎与动态基线判断异常,执行分级告警与通知分发 告警规则引擎、AlertManager、通知网关(邮件/钉钉/企微) 调用通知网关发送告警消息;将告警事件写入 ES 告警索引;回调展示层刷新看板
展示层 提供可视化看板、趋势分析、告警事件查询与报表导出能力 Grafana、Kibana、自研 Web 管理后台 通过 SQL/ES DSL 查询计算层与告警层数据;提供 REST API 供外部系统调用

4.3 层间交互关系详解

各层之间的交互并非简单的单向数据流,而是包含同步与异步两种模式,以及必要的反馈回路。

  • 采集层 → 计算层(异步消息驱动):采集层将清洗后的特征数据以消息形式发送到 Kafka 指定 Topic。计算层通过订阅 Topic 实现流式消费,无需等待采集层全部完成即可开始计算,降低端到端延迟。
  • 计算层 → 告警层(定时轮询 + 事件推送):告警层定期(如每 5 分钟)从 MySQL/ES 拉取最新计算结果,与预设阈值进行比对。对于紧急异常(如 PSI > 0.25),计算层也可通过 RPC 直接推送告警事件,缩短响应时间。
  • 告警层 → 展示层(数据查询 + 实时推送):展示层通过 Grafana 数据源插件查询 ES 中的告警事件与指标趋势。同时,告警层通过 WebSocket 将新产生的告警实时推送到前端看板,实现秒级刷新。
  • 展示层 → 采集层/计算层(配置下发):运维人员通过展示层管理后台修改采集频率、计算参数或告警阈值,配置变更通过配置中心(如 Apollo/Nacos)下发到采集层与计算层,实现热更新。

架构设计要点:

  • 解耦性:各层通过消息队列(Kafka)与配置中心解耦,单层升级或故障不影响其他层。
  • 可扩展性:计算层与告警层支持水平扩展,通过增加节点应对特征数量增长。
  • 数据一致性:采集层对每条数据生成唯一 ID,计算层通过幂等写入保证结果不重复。
  • 可观测性:每层暴露 Prometheus 指标,通过 Grafana 监控各层处理延迟与吞吐量。

4.4 数据流与反馈闭环

下图展示了巡检系统中数据从采集到展示,再到配置反馈的完整闭环流程,突出展示了各层之间的双向交互关系。

巡检系统数据流与反馈闭环 巡检系统数据流与反馈闭环 数据源 Hive / Kafka / API 采集层 清洗·标记·标准化 计算层 PSI·缺失率·偏移 告警层 规则·分级·分发 展示层 看板·报表·查询 配置中心 Apollo / Nacos 配置变更 下发 告警推送 闭环说明:数据从数据源经采集、计算、告警到达展示层;运维人员通过展示层修改配置 配置中心将变更下发至采集层与计算层,实现参数热更新,无需重启服务

实践建议:在初期搭建时,建议先实现采集层 → 计算层 → 展示层的主链路,确保数据能够正常流转与展示。告警层与配置中心可在主链路稳定后再逐步接入,降低首次上线的复杂度。