3. 实时风控特征监控架构:整体架构图与各模块职责
实时风控特征 PSI 监控体系需要一套低延迟、高吞吐的架构来支撑。本章从整体架构出发,拆解数据采集层、特征计算层、PSI 计算层和告警层四个核心模块,明确各层职责、数据流转路径以及端到端延迟要求。
3.1 整体架构图
下图展示了实时风控特征 PSI 监控的四层架构,数据从左至右依次经过采集、计算、监控和告警,最终输出给运维与算法人员。
3.2 各模块职责
| 架构层 | 核心职责 | 关键组件 | 输出数据 |
|---|---|---|---|
| 数据采集层 | 从多种数据源实时接入原始事件与特征日志,保证数据不丢不重 | Kafka、Flume、Logstash | 原始事件流、特征日志流 |
| 特征计算层 | 对原始数据进行清洗、聚合、衍生,生成风控模型所需的特征向量 | Flink、Spark Streaming、HBase | 实时特征宽表 |
| PSI 计算层 | 对特征分布进行分桶统计,计算当前分布与基线分布的 PSI 值 | PSI 计算引擎、Redis 基线存储 | 特征 PSI 指标流 |
| 告警层 | 根据 PSI 阈值触发告警,通知运维与算法人员介入排查 | 告警判定器、钉钉/邮件通道 | 告警消息、监控看板 |
3.3 数据流与延迟要求
实时 PSI 监控对端到端延迟有严格要求,各环节的延迟预算直接影响架构选型。以下为典型数据流路径与延迟指标:
- 数据采集 → 特征计算:原始事件从 Kafka 消费到 Flink 算子,延迟控制在 100ms 以内。采用 Kafka 分区与消费者并行度匹配策略。
- 特征计算 → PSI 计算:特征宽表写入 HBase 后,PSI 计算引擎按分钟级窗口拉取数据。特征聚合延迟 200ms 以内,PSI 计算窗口为 1 分钟。
- PSI 计算 → 告警判定:PSI 值实时写入 Redis,告警判定器每秒轮询一次。PSI 计算延迟 500ms 以内。
- 告警判定 → 通知:触发告警后,通过钉钉机器人或邮件发送,端到端延迟 1 秒以内。
延迟预算总结:从事件产生到告警通知,端到端延迟应控制在 2 秒以内。其中数据采集与特征计算占 40%,PSI 计算占 30%,告警分发占 30%。
3.4 数据流时序图
下图以时间轴方式展示一次完整的 PSI 监控数据流,从事件产生到告警通知的典型时序。
3.5 架构设计要点
- 解耦性:各层通过消息队列(Kafka)或缓存(Redis)解耦,任一层的故障不影响上下游。
- 可扩展性:特征计算层和 PSI 计算层支持水平扩展,通过增加节点应对特征数量增长。
- 容错性:Flink 与 Kafka 提供 exactly-once 语义,保证 PSI 计算不重复不遗漏。
- 实时性:端到端延迟控制在 2 秒以内,满足风控场景对特征漂移的快速响应需求。
实践建议:在初期搭建时,建议先以 10 个核心特征为试点,验证各层延迟是否达标。待架构稳定后,再逐步扩展到全量特征。PSI 计算窗口建议从 1 分钟开始,根据业务敏感度调整。