2. 风控网关架构概览:网关在风控系统中的位置、核心模块
实时风控网关是风控系统的“交通枢纽”,所有业务请求在进入核心决策引擎之前,都必须经过网关的预处理、协议转换与流量调度。本章从系统架构视角,明确网关的定位,并拆解其三大核心模块:接入层、决策层与存储层。
2.1 网关在风控系统中的位置
在典型的风控技术栈中,网关位于业务应用与风控决策引擎之间,承担南北向流量的统一入口职责。它不直接产生风控分数,而是负责将异构的业务请求标准化,并分发至下游决策单元。
关键定位:网关是风控系统的“前置过滤器”与“协议适配器”,所有非结构化数据在此完成结构化转换。
2.2 核心模块详解
网关内部按职责划分为三个层次,各层独立部署、水平扩展,通过内部 RPC 或消息队列通信。
2.2.1 接入层(Ingress Layer)
接入层是网关的最前端,负责处理所有外部请求的网络接入与协议适配。主要职责包括:
- 协议转换:将 HTTP/HTTPS、gRPC、Dubbo 等异构协议统一转为内部 Protobuf 或 JSON 格式。
- 身份认证:校验 API Key、Token 或数字签名,拦截非法请求。
- 流量整形:基于令牌桶或漏桶算法进行限流,防止突发流量击穿下游。
- 请求日志:全量记录请求元数据(时间戳、来源 IP、接口名、参数摘要),用于审计与回溯。
实践建议:接入层应保持无状态,便于横向扩缩容。限流阈值建议从业务 QPS 峰值的 1.5 倍开始配置,逐步压测调整。
2.2.2 决策层(Decision Layer)
决策层是网关的“大脑”,负责将标准化后的请求数据路由至对应的风控策略集。核心组件包括:
- 特征提取器:从请求参数、设备指纹、用户画像中提取风控特征字段。
- 策略路由:根据业务类型(登录、支付、注册)将请求分发至不同的策略管道。
- 规则引擎:执行预定义的 if-then 规则(如“同一 IP 1 分钟内请求超过 10 次则拒绝”)。
- 模型调用代理:封装对机器学习模型(如 XGBoost、神经网络)的远程调用,并处理超时与降级。
| 组件 | 职责 | 典型实现 |
|---|---|---|
| 特征提取器 | 从原始请求中解析出风控特征 | Groovy 脚本 / 配置化 DSL |
| 策略路由 | 按业务场景分发至不同策略集 | 责任链模式 / 路由表 |
| 规则引擎 | 执行确定性规则逻辑 | Drools / EasyRules |
| 模型调用代理 | 调用远程模型服务并处理异常 | gRPC + 熔断器(Hystrix) |
2.2.3 存储层(Storage Layer)
存储层为网关提供数据持久化与状态缓存能力,支撑实时特征计算与历史回溯。按数据用途分为三类:
- 缓存存储:使用 Redis 集群存储计数器、滑动窗口、用户画像快照,要求毫秒级读写。
- 事件存储:使用 Kafka 或 Pulsar 将原始请求与决策结果持久化为事件流,供离线分析消费。
- 配置存储:使用 MySQL 或 etcd 存储网关路由规则、限流阈值、黑白名单等动态配置。
注意:存储层是网关性能瓶颈的高发区。Redis 操作应避免大 Key 与慢查询;Kafka 分区数应根据业务流量提前规划,避免后期 rebalance 导致数据倾斜。
2.3 三层架构的协作关系
三个层次并非简单串联,而是形成“接入 → 决策 → 存储”的主链路,同时存储层为接入层和决策层提供反向数据支撑:
- 请求进入:接入层完成协议解析与限流后,将标准化请求体传入决策层。
- 特征计算:决策层从存储层读取实时计数器(如“用户过去 5 分钟请求次数”),结合请求参数生成特征向量。
- 策略执行:规则引擎与模型代理基于特征向量输出决策结果,结果写回存储层的事件流。
- 响应返回:决策层将结果返回给接入层,由接入层封装为业务方期望的协议格式并回写响应。
架构要点:三层之间通过明确的接口契约(IDL)解耦,任何一层的内部重构不影响其他层。存储层的缓存超时时间应短于决策层的超时时间,避免缓存穿透。
2.4 本章小结
实时风控网关通过接入层统一流量入口、决策层集中处理风控逻辑、存储层提供高性能数据支撑,构建了一个可水平扩展、低延迟的预处理系统。理解这三层的职责边界与协作模式,是后续搭建特征看板的数据采集与指标设计的基础。