风控限额限次系统设计-11-可拓展性设计
2021年2月14日大约 21 分钟
前言
限额限次作为最基础的累加
可以在这个基础上进行拓展,最核心的就是对应的规则引擎的能力,让其拥有更多的可拓展性的能力。
整体架构
RPC/HTTP业务系统匹配规则限额限次(实时)加载mysql 配置限额限次(控台)变更读取历史数据分布式数据库信息落库规则判断返回结果
核心模块
流程引擎
这个可以用类似于 工作流引擎-00-流程引擎(Process Engine)概览 overview 实现页面的可视化。
当然,一般都是大材小用。
主要就是2个部分:准入条件+决策部分。
准入条件
可以使用规则引擎
checkpoint 核心的场景码+检测点
决策部分
黑白名单
限额限次
规则引擎
功能开关
大模型
系统配置
内置的系统核心属性
参数配置
响应编码等
业务配置
针对不同的业务
- 业务线/机构
- 业务枚举
- 业务常量/列表 等等
指标
业务维度(名称==jsonPath)
流量累加(实时的流量累加,某种角度而言,和日志的流处理比较相似)
所以其实使用 vm 还是比较适合的。
规则
指标的复合使用
审核流程
试运行
命中记录
流 & 批
流
日志:准入条件(规则引擎、正则、包含等等)
label 提取:aviator 表达式、json-path 等等、函数?
累加:值固定值,表达式
批
CAT:http 采集
SQL: 定时执行
普米:自己实际研究玩一下
加一点细节
流程
多级 Tree
规则引擎
activiti 等可视化流程引擎
route: 路由===》决策引擎
参数
通用枚举
机构编码等
指标
基础指标:准入+提取+value值
衍生指标:各种计算+运算
来源
业务维度---请求参数---json-path
日志/SQL/CAT/普米
函数拓展
内置的函数
允许用户自定义 http/dubbo 等
规则
基本信息
版本控制
审批流
规则引擎---指标运算【操作符】【阈值】
条件---条件也可以进一步抽象
模拟/实际运行
页面配置
基础
指标-基础数据{time, label, value}
规则:拓展/复合
规则则
过滤条件、 时间、处理
实时
count / sum 累加
参考资料
贡献者
binbin.hou