3. 实时风控特征监控架构:整体架构图与各模块职责

实时风控特征 PSI 监控体系需要一套低延迟、高吞吐的架构来支撑。本章从整体架构出发,拆解数据采集层、特征计算层、PSI 计算层和告警层四个核心模块,明确各层职责、数据流转路径以及端到端延迟要求。

3.1 整体架构图

下图展示了实时风控特征 PSI 监控的四层架构,数据从左至右依次经过采集、计算、监控和告警,最终输出给运维与算法人员。

实时风控特征 PSI 监控整体架构 数据采集层 特征计算层 PSI 计算层 告警层 Kafka 实时流 API 网关日志 离线 Hive 快照 Redis 缓存 特征提取引擎 特征聚合器 特征存储 (HBase) 分桶统计模块 PSI 公式计算 基线分布存储 阈值判定器 告警通道 (钉钉/邮件) 告警历史记录 延迟:< 100ms 延迟:< 200ms 延迟:< 500ms 延迟:< 1s

3.2 各模块职责

架构层 核心职责 关键组件 输出数据
数据采集层 从多种数据源实时接入原始事件与特征日志,保证数据不丢不重 Kafka、Flume、Logstash 原始事件流、特征日志流
特征计算层 对原始数据进行清洗、聚合、衍生,生成风控模型所需的特征向量 Flink、Spark Streaming、HBase 实时特征宽表
PSI 计算层 对特征分布进行分桶统计,计算当前分布与基线分布的 PSI 值 PSI 计算引擎、Redis 基线存储 特征 PSI 指标流
告警层 根据 PSI 阈值触发告警,通知运维与算法人员介入排查 告警判定器、钉钉/邮件通道 告警消息、监控看板

3.3 数据流与延迟要求

实时 PSI 监控对端到端延迟有严格要求,各环节的延迟预算直接影响架构选型。以下为典型数据流路径与延迟指标:

  1. 数据采集 → 特征计算:原始事件从 Kafka 消费到 Flink 算子,延迟控制在 100ms 以内。采用 Kafka 分区与消费者并行度匹配策略。
  2. 特征计算 → PSI 计算:特征宽表写入 HBase 后,PSI 计算引擎按分钟级窗口拉取数据。特征聚合延迟 200ms 以内,PSI 计算窗口为 1 分钟。
  3. PSI 计算 → 告警判定:PSI 值实时写入 Redis,告警判定器每秒轮询一次。PSI 计算延迟 500ms 以内。
  4. 告警判定 → 通知:触发告警后,通过钉钉机器人或邮件发送,端到端延迟 1 秒以内。

延迟预算总结:从事件产生到告警通知,端到端延迟应控制在 2 秒以内。其中数据采集与特征计算占 40%,PSI 计算占 30%,告警分发占 30%。

3.4 数据流时序图

下图以时间轴方式展示一次完整的 PSI 监控数据流,从事件产生到告警通知的典型时序。

实时 PSI 监控数据流时序 T0 T0+100ms T0+300ms T0+800ms T0+1.8s 事件产生 特征提取与聚合 PSI 计算 告警判定与通知 采集延迟 <100ms 特征延迟 <200ms PSI 延迟 <500ms 告警延迟 <1s 关键说明 • 数据采集层采用 Kafka 多分区并行消费,保证高吞吐与低延迟。 • 特征计算层使用 Flink 窗口聚合,窗口大小 1 分钟,滑动步长 10 秒。 • PSI 计算层基于 Redis 存储基线分布,支持毫秒级读取。 • 告警层支持多级阈值(警告/严重),避免频繁误报。

3.5 架构设计要点

  • 解耦性:各层通过消息队列(Kafka)或缓存(Redis)解耦,任一层的故障不影响上下游。
  • 可扩展性:特征计算层和 PSI 计算层支持水平扩展,通过增加节点应对特征数量增长。
  • 容错性:Flink 与 Kafka 提供 exactly-once 语义,保证 PSI 计算不重复不遗漏。
  • 实时性:端到端延迟控制在 2 秒以内,满足风控场景对特征漂移的快速响应需求。

实践建议:在初期搭建时,建议先以 10 个核心特征为试点,验证各层延迟是否达标。待架构稳定后,再逐步扩展到全量特征。PSI 计算窗口建议从 1 分钟开始,根据业务敏感度调整。