1. 课程导论:批流一体风控的背景、课程目标与适用人群、整体技术栈概览

1.1 风控链路的技术演进与批流一体背景

传统风控系统长期采用“离线批处理 + 实时规则引擎”的双轨架构。离线批处理负责日切、月报、模型重训练;实时规则引擎处理在线交易拦截。这种架构在数据量爆发、欺诈手段快速迭代的背景下暴露出三大痛点:

  • 时效断层:离线模型更新周期通常为 T+1,无法应对秒级变异的团伙欺诈。
  • 特征口径不一致:批处理与实时流计算使用不同的特征工程代码,导致离线 AUC 与线上实际效果偏差超过 15%。
  • 运维割裂:批任务与流任务分属不同调度系统,链路排障需跨团队协作,平均 MTTR 超过 2 小时。

批流一体架构通过统一的计算引擎(如 Flink)、统一的特征存储(如 Feature Store)和统一的模型部署管线,将离线训练与在线推理的链路合并,实现“训练-评估-部署-监控”的闭环。本课程聚焦于风控链路中模型部署这一关键环节,讲解如何将批流一体理念落地为可运维、可灰度、可回滚的生产级部署方案。

核心认知:批流一体不是简单的技术堆叠,而是对风控数据流、特征流、模型流的一次系统性重构。部署层是这一重构的“最后一公里”,决定了模型能否真正产生业务价值。

1.2 课程目标与适用人群

维度 具体说明
课程总目标 使学员掌握从离线训练到实时推理的全链路模型部署方法,能够独立设计并落地一套批流一体的风控模型部署体系。
能力分层目标
  • 初级:理解批流一体架构的基本概念,能搭建简单的 Flink + Kafka 推理管道。
  • 中级:掌握特征对齐、模型版本管理、A/B 测试部署策略,能处理生产级灰度发布。
  • 高级:具备设计高可用部署拓扑、容量规划、链路监控与自动扩缩容的能力。
适用人群
  • 风控算法工程师(需了解模型上线流程)
  • 数据平台 / 实时计算工程师(负责 Flink 作业运维)
  • MLOps / AIOps 工程师(关注模型部署与监控)
  • 技术架构师(设计风控中台或决策引擎)
前置知识 熟悉 Python/Java 基础、了解 Flink 或 Spark Streaming 基本概念、有基础的 Linux 运维经验。

1.3 整体技术栈概览

本课程涉及的技术组件覆盖数据接入、特征计算、模型推理、部署编排与监控告警五大领域。下表列出核心组件及其在批流一体风控链路中的角色:

层级 组件 角色说明
数据接入 Kafka / Pulsar 承接实时交易事件与离线批量数据,作为流与批的统一消息总线。
特征计算 Flink SQL / PyFlink 在流上执行滑动窗口聚合、维表关联等特征工程,保证离线与在线特征逻辑一致。
特征存储 Redis / HBase / Feature Store 存储实时特征与离线预计算特征,支持毫秒级在线查询。
模型推理 PMML / ONNX / Triton Inference Server 将训练好的模型导出为标准格式,部署为高性能推理服务。
部署编排 Kubernetes / Helm / ArgoCD 容器化部署模型服务,支持灰度发布、自动扩缩容与版本回滚。
监控告警 Prometheus + Grafana + 自定义 Exporter 采集推理延迟、吞吐量、特征漂移等指标,配置多级告警策略。
批流一体风控链路部署技术栈架构 数据接入层 Kafka / Pulsar 实时事件 + 离线批量 特征计算层 Flink SQL / PyFlink 滑动窗口 · 维表关联 特征存储层 Redis / HBase / Feature Store 毫秒级在线查询 模型推理层 PMML / ONNX / Triton 高性能推理服务 部署编排层 Kubernetes / Helm / ArgoCD 灰度 · 扩缩容 · 回滚 监控告警层 Prometheus + Grafana 延迟 · 吞吐 · 特征漂移

1.4 课程内容主线与交付物

本课程共 30 章,按“基础概念 → 环境搭建 → 特征对齐 → 模型部署 → 灰度发布 → 监控运维 → 生产案例”的递进路线组织。每章均包含可运行的代码示例或配置文件,最终交付一套完整的批流一体风控模型部署参考实现。

  • 第 1-5 章:批流一体基础、Flink 部署、Kafka 集群搭建、特征存储选型。
  • 第 6-12 章:模型导出(PMML/ONNX)、Triton 推理服务部署、Flink 与推理服务的集成。
  • 第 13-20 章:Kubernetes 部署编排、Helm Chart 编写、灰度发布策略(蓝绿/金丝雀)、A/B 测试流量路由。
  • 第 21-25 章:监控指标体系搭建、特征漂移检测、模型版本回滚与热更新。
  • 第 26-30 章:生产级案例(信贷审批、交易反欺诈、团伙识别)与故障演练。
学习建议:建议学员在本地或云上准备一套至少 3 节点的 Kubernetes 集群(可使用 Minikube 或 Kind 模拟),并安装 Flink 1.17+ 与 Kafka 3.4+ 版本,以便跟随课程进行实操。

1.5 批流一体部署的核心挑战

在正式进入技术细节之前,有必要明确批流一体部署区别于传统部署的四个关键挑战:

  1. 特征时间对齐:离线训练时使用的特征窗口(如“过去 30 分钟交易次数”)在实时推理时必须使用完全相同的窗口逻辑,否则模型效果会急剧下降。
  2. 模型热更新与状态一致性:流作业通常维护状态(如计数器、滑动窗口聚合),模型更新时如何保证状态不丢失、不重复计算,是部署层面的核心难点。
  3. 推理延迟与吞吐的平衡:风控场景通常要求 P99 延迟 < 50ms,同时需要支撑万级 QPS 的突发流量,部署架构必须兼顾低延迟与高吞吐。
  4. 灰度验证的流量隔离:新模型上线必须经过小流量验证,且验证期间需要保证特征、推理、结果落盘全链路的隔离性,避免对线上决策造成污染。
常见误区:不要认为“离线 AUC 高 = 线上效果好”。特征口径不一致、部署环境差异、数据漂移等因素都会导致线上效果衰减。批流一体部署的核心价值之一就是消除这些“离线-在线偏差”。
批流一体部署四大核心挑战 特征时间对齐 离线窗口 = 在线窗口 口径完全一致 状态一致性 热更新不丢状态 不重复计算 延迟与吞吐 P99 < 50ms 万级 QPS 支撑 灰度流量隔离 小流量验证 全链路隔离 批流一体部署引擎 四个挑战相互关联,部署方案需整体设计,不可孤立解决