2. 风控网关整体架构:网关分层模型与请求生命周期
实时风控网关是特征服务回放对比的承载平台,其架构设计直接决定了回放任务的隔离性、扩展性与性能。本章从分层模型与请求生命周期两个维度拆解网关内部结构,为后续特征回放对比提供架构上下文。
2.1 网关分层模型
风控网关采用四层纵向拆分架构,每一层职责明确、可独立扩缩容。分层设计使得特征回放对比可以在特征层与决策层之间插入“回放对比代理”,而不影响接入层与路由层的稳定性。
| 层级 | 核心职责 | 关键组件 | 回放对比关注点 |
|---|---|---|---|
| 接入层 | 协议适配、流量整形、身份认证 | HTTP/HSF/TR 网关、限流器、鉴权模块 | 回放请求的协议转换与流量标记 |
| 路由层 | 请求分发、灰度路由、单元化调度 | 路由表、灰度规则引擎、单元化调度器 | 回放流量与线上流量的路由隔离 |
| 特征层 | 特征获取、特征计算、特征缓存 | 特征服务 SDK、特征聚合器、本地缓存 | 回放对比的核心插入点 |
| 决策层 | 规则引擎、模型推理、策略编排 | 规则集、模型容器、策略编排器 | 回放结果与线上结果的差异比对 |
架构要点:特征层是网关中状态最重、调用链路最长的层级。特征回放对比的核心目标,就是在不修改特征层代码的前提下,验证特征值在时间维度上的稳定性与一致性。
2.2 数据流与请求生命周期
一个风控请求从进入网关到输出决策结果,经历6个阶段。特征回放对比在阶段4(特征聚合)与阶段5(决策执行)之间插入对比逻辑,捕获特征快照与决策结果。
- 阶段1:协议解析与认证 — 接入层将原始请求(HTTP/HSF/TR)解析为内部统一上下文,完成身份校验与基础参数提取。
- 阶段2:路由寻址 — 路由层根据请求属性(用户ID、设备指纹、场景码)匹配灰度规则与单元化策略,确定目标特征集群。
- 阶段3:特征请求分发 — 路由层将请求转发至特征层,特征层根据特征标识(featureKey)并行调用多个特征服务。
- 阶段4:特征聚合 — 特征层等待所有特征服务返回,执行特征值合并、缺失值填充、缓存更新,生成完整特征向量。
- 阶段5:决策执行 — 决策层接收特征向量,依次执行规则引擎、模型推理、策略编排,输出最终决策结果(pass/review/reject)。
- 阶段6:结果回写 — 决策结果通过路由层与接入层返回给调用方,同时异步写入事件总线用于离线分析。
回放对比生命周期差异:回放请求在阶段4完成后,会复制一份特征快照,然后分别送入“线上决策路径”与“回放决策路径”。两条路径的输出在阶段6之前进行字段级比对,差异结果写入对比报告。
2.3 分层模型的关键设计原则
- 无状态路由:路由层不持有任何业务状态,仅依赖请求头中的路由键做一致性哈希分发,保证回放请求与线上请求路由到相同的特征节点。
- 特征层隔离:特征服务之间通过
featureKey解耦,每个特征服务独立部署、独立扩缩容。回放对比时只需替换或镜像目标特征服务,不影响其他特征。 - 决策层可插拔:决策层支持多版本规则集与模型容器共存,回放对比可以指定使用“基线版本”与“实验版本”并行执行,输出差异报告。
- 异步回写:结果回写采用消息队列异步化,避免回放对比的额外写入压力影响线上决策延迟。
常见架构陷阱:特征层与决策层之间如果使用同步阻塞调用,回放对比插入点会直接增加线上决策的 P99 延迟。生产环境必须将回放对比逻辑放在独立的异步线程池中执行,或者通过流量染色将回放请求路由到独立的回放对比集群。
2.4 网关分层与回放对比的映射关系
| 网关层级 | 回放对比组件 | 交互方式 | 性能要求 |
|---|---|---|---|
| 接入层 | 回放请求标记器 | 请求头注入 x-replay-id |
纳秒级 |
| 路由层 | 回放流量调度器 | 一致性哈希 + 灰度规则 | 微秒级 |
| 特征层 | 特征快照采集器 | 异步复制特征上下文 | 毫秒级(不阻塞主链路) |
| 决策层 | 双路决策对比器 | 并行执行 + 字段级 diff | 与线上决策同级别 |
上述映射关系表明:特征回放对比不是独立于网关之外的附加系统,而是嵌入网关分层模型内部的轻量级代理。每一层只需增加一个回放对比适配器,即可在不重构网关的前提下完成回放能力建设。