3. 实时检测系统架构总览:端到端推理链路图、数据流、核心组件

实时可疑交易检测系统是一个典型的“流式处理 + 规则/模型混合决策”架构。本章从全局视角出发,绘制端到端推理链路,明确数据流转路径,并逐一拆解四大核心组件:采集、处理、决策、反馈。

3.1 端到端推理链路图

下图展示了从交易事件产生到最终处置动作的完整推理链路。系统采用分层解耦设计,每一层只依赖前一层输出的标准化数据,便于独立扩缩容与升级。

端到端可疑交易实时检测推理链路 采集层 · 事件接入 Kafka / gRPC Stream / HTTP Webhook → 交易原始事件 处理层 · 特征工程 & 上下文聚合 实时窗口聚合 · 用户画像查询 · 设备指纹 · 地理/IP 解析 输出:结构化特征向量 + 交易上下文快照 决策层 · 规则引擎 + 模型推理 规则引擎(Drools / 自研 DSL) · 轻量模型(XGBoost / ONNX) 输出:风险评分 + 决策标签(放行/人工审核/拦截) 反馈层 · 处置执行 & 闭环回写
架构要点: 每一层通过消息队列或 RPC 解耦,采集层与处理层之间使用 Kafka 作为削峰缓冲区;决策层支持规则与模型并行评估,最终结果通过反馈层写入持久化存储并触发告警/阻断。

3.2 数据流全景

数据在系统中的流转遵循“事件入 → 特征化 → 评分 → 处置”的主线。下表按阶段列出关键数据载体与格式:

阶段 数据载体 典型字段(示例) 序列化格式
采集 原始交易事件 tx_id, user_id, amount, timestamp, merchant, device_id Avro / Protobuf
处理 特征向量 + 上下文 amount_7d_sum, ip_risk_score, device_country, hour_of_day Parquet / JSON
决策 风险评分 + 决策标签 risk_score (0.0~1.0), decision (approve/review/block), rule_hit_list JSON / Thrift
反馈 处置记录 + 审计日志 action (alert/block/pass), operator, response_time_ms, case_id JSON / ORC

3.3 核心组件详解

3.3.1 采集组件(Event Collector)

  • 职责: 接收来自支付网关、APP 后端、POS 终端的交易事件,完成协议适配与初步校验。
  • 技术选型: 基于 Netty 的 gRPC Server + Kafka Producer;支持背压控制与重试机制。
  • 关键指标: 采集吞吐量 > 50,000 TPS,P99 延迟 < 5ms。

3.3.2 处理组件(Feature Processor)

  • 职责: 消费 Kafka 中的原始事件,执行实时特征计算与上下文聚合。
  • 核心能力:
    • 滑动窗口聚合(Flink / Kafka Streams):计算近 1h/24h/7d 交易频次与金额。
    • 外部数据关联:查询 Redis 中的用户画像、设备指纹库、IP 黑名单。
    • 特征标准化与缺失值填充,输出固定维度的特征向量。
  • 避坑提示: 避免在窗口内使用全局锁;优先使用状态后端(RocksDB)保证大窗口稳定性。

3.3.3 决策组件(Decision Engine)

  • 职责: 接收特征向量,并行执行规则引擎与模型推理,合并输出最终决策。
  • 双路决策架构:
    1. 规则引擎: 预置 200+ 条专家规则(如“单笔金额 > 5 万且 IP 归属高风险国家”),支持热更新。
    2. 模型推理: 加载 ONNX 格式的 XGBoost / LightGBM 模型,使用 GPU 或 AVX-512 指令加速。
  • 合并策略: 规则命中直接输出“拦截”或“人工审核”;模型评分作为辅助排序与优先级调整。

3.3.4 反馈组件(Feedback & Audit)

  • 职责: 执行决策结果(告警、阻断、放行),并将全链路日志写入数据湖用于模型迭代。
  • 关键链路:
    • 实时告警:通过 WebSocket 推送至风控运营平台。
    • 异步回写:将特征、决策、处置结果写入 Hudi/Iceberg 表,支持 T+1 特征回溯。
    • 人工标注反馈:运营人员修正误报/漏报后,触发增量训练管道。

3.4 组件协作时序与数据流图

以下 SVG 图聚焦于组件之间的数据流方向与关键交互协议,帮助理解“一条交易”在系统内部的完整旅程。

组件协作与数据流(单笔交易视角) 支付网关 采集服务 Kafka 事件流 特征处理器 Redis 用户画像 决策引擎 反馈执行器 数据湖 (Hudi) gRPC Avro 消费订阅 查询 特征向量 (JSON) 决策结果 审计日志
关键设计原则:
  • 异步解耦: 采集与处理之间通过 Kafka 解耦,避免处理层抖动导致采集阻塞。
  • 状态外置: 特征处理器依赖 Redis 存储用户画像,决策引擎无状态设计,便于水平扩展。
  • 可观测性: 每个组件暴露 Prometheus 指标(吞吐量、延迟、错误率),反馈层全量日志入湖。

3.5 架构决策备忘

决策点 选型 理由
事件传输 Kafka + Avro 高吞吐、持久化、Schema 兼容演进
流处理框架 Flink / Kafka Streams Exactly-Once 语义、大窗口状态管理成熟
规则引擎 自研 DSL + Drools 规则热更新、支持复杂条件组合
模型推理 ONNX Runtime 跨框架模型统一部署、GPU 加速
反馈存储 Apache Hudi 支持增量查询、与 Spark/Flink 集成好
常见陷阱:
  • 采集层直接调用决策接口导致级联超时——必须引入消息队列削峰。
  • 特征处理器与决策引擎共用线程池——容易互相阻塞,建议独立部署。
  • 反馈层只写日志不入湖——导致模型迭代缺乏历史特征数据。