2. 风控网关架构设计:分层架构设计、请求处理流程、与业务系统的交互方式、高可用设计要点

风控网关作为实时风控系统的流量入口与决策中枢,其架构设计直接决定了系统的吞吐能力、响应延迟与稳定性。本节从分层架构、请求处理流程、业务交互模式及高可用保障四个维度展开,帮助学员建立完整的网关设计认知。

2.1 分层架构设计

风控网关采用经典的四层架构,自底向上依次为:接入层、路由层、决策层与输出层。每层职责清晰,便于独立扩展与灰度发布。

层级 核心职责 关键组件 典型技术选型
接入层 协议适配、流量整形、安全校验 HTTP/HSF/Dubbo 网关、限流器、IP黑白名单 Nginx + Lua、Spring Cloud Gateway
路由层 请求分发、参数校验、上下文构建 路由表、参数解析器、特征预提取 自研路由引擎、Apollo 配置中心
决策层 规则引擎、模型推理、策略组合 LightGBM 模型服务、规则集、评分卡 ONNX Runtime、自研规则引擎
输出层 结果封装、异步回调、日志审计 结果组装器、MQ 生产者、ES 写入器 Kafka、Elasticsearch、Redis

架构要点: 接入层与路由层为无状态服务,支持水平扩展;决策层为有状态服务,需通过模型缓存与预加载降低推理延迟;输出层采用异步写日志,避免阻塞主链路。

风控网关四层架构图 接入层 协议适配 · 流量整形 · 安全校验 · 限流熔断 路由层 请求分发 · 参数校验 · 上下文构建 · 特征预提取 决策层 规则引擎 · LightGBM 模型推理 · 策略组合 · 评分计算 输出层 结果封装 · 异步回调 · 日志审计 · 指标上报 各层通过标准 RPC 接口解耦,支持独立灰度发布与容量扩缩

2.2 请求处理流程

一次完整的风控请求从进入网关到返回结果,经历以下 8 个核心步骤:

  1. 协议解析与安全校验:接入层解析 HTTP/HSF 协议头,校验签名、时间戳与 IP 白名单。
  2. 流量控制:根据调用方 AppKey 与接口维度执行令牌桶限流,超出阈值直接返回降级结果。
  3. 参数校验与补全:路由层校验必填字段,补全设备指纹、IP 归属地等上下文信息。
  4. 特征预提取:从请求参数与缓存中提取高频特征(如用户历史行为统计、设备风险等级)。
  5. 规则前置过滤:执行白名单、黑名单、频控等快速规则,命中则直接返回,不进入模型。
  6. 模型推理:将特征向量送入 LightGBM 模型服务,获取风险概率与决策分数。
  7. 策略组合:将模型分数与规则结果按策略矩阵加权,生成最终决策(通过/人工/拒绝)。
  8. 结果输出与异步日志:输出层封装响应,同步返回调用方;异步写入全量日志到 ES 与 Kafka。

性能优化点: 步骤 4 的特征预提取与步骤 5 的规则前置过滤可并行执行,减少串行等待时间。实测可降低 15%~20% 的 P99 延迟。

风控网关请求处理流程 1. 协议解析与安全校验 2. 流量控制(令牌桶) 3. 参数校验与补全 4. 特征预提取 5. 规则前置过滤 6. LightGBM 模型推理 7. 策略组合与决策输出

2.3 与业务系统的交互方式

风控网关与业务系统之间采用 同步 + 异步 双通道交互模式,兼顾实时性与最终一致性。

交互模式 适用场景 协议/组件 超时控制
同步 RPC 登录、支付、下单等核心交易场景 HSF / Dubbo / HTTP 50ms ~ 200ms
异步 MQ 事后风控、异步审核、数据补传 RocketMQ / Kafka 无严格超时
缓存查询 黑白名单、设备指纹、用户画像 Redis / Tair 5ms ~ 10ms
回调通知 人工审核结果、模型重判结果 HTTP Callback / MQ 按业务约定

避坑指南: 同步 RPC 必须设置合理的超时与熔断阈值,避免业务系统线程被风控慢请求打满。建议超时设置为 150ms,熔断窗口为 10s 内错误率超过 50% 则自动降级。

2.4 高可用设计要点

风控网关作为关键链路节点,需从以下五个维度保障高可用:

  • 无状态化与水平扩展:接入层与路由层所有节点无状态,通过负载均衡器(SLB/Nginx)均匀分发流量,支持秒级扩容。
  • 多级缓存降级:模型特征缓存(本地 Caffeine + 分布式 Redis)减少重复计算;当模型服务不可用时,自动降级为规则引擎兜底。
  • 熔断与限流:基于 Sentinel 或自研熔断器,对下游依赖(模型服务、数据库)实施熔断保护;网关入口按 AppKey + API 维度限流。
  • 同城双活与异地容灾:核心网关集群部署在两个可用区,流量按权重分配;当单可用区故障时,DNS 切换至备用集群,RTO < 30s。
  • 全链路监控与告警:每个处理步骤埋点上报延迟、QPS、错误率;配置多维告警规则(P99 超 200ms、错误率突增 5 倍等)。

高可用核心指标: 网关整体可用性 ≥ 99.99%,单次请求 P99 延迟 ≤ 100ms,模型服务故障时降级响应时间 ≤ 30ms。

风控网关高可用设计要点 无状态化 水平扩展 秒级扩容 多级缓存 本地+分布式 自动降级 熔断限流 Sentinel AppKey 维度 同城双活 异地容灾 RTO<30s 全链路监控 埋点+告警 多维规则 高可用设计核心原则 任何单点故障都不应导致整体服务不可用 降级策略必须提前演练,确保模型服务挂掉时规则引擎能正常兜底