伴随着移动互联网的高速发展,羊毛党快速崛起,从一平台到另一个平台,所过之处一地鸡毛,这还不是最可怕的, 随之而来的黑产令大部分互联网应用为之胆寒,通常新上线的APP的福利比较大,风控系统不完善,BUG 被发现的频率也比较高, 黑产利用BUG短时间给平台带来了巨大的损失,某多多的(100元测试优惠券,一夜损失上百万W)就是一例。针对这一现象, 拥有一款实时的风控引擎是所有带有金融性质的APP 的当务之急,Radar应景而生。
Radar前身是笔者前公司的一个内部研究项目,由于众多原因项目商业化失败,考虑到项目本身的价值,弃之可惜, 现使用Springboot进行重构,删除了很多本地化功能,只保留风控引擎核心,更加通用,更加轻量,二次开发成本低, 开源出来,希望能给有风控需求的你们带来一些帮助。
项目特点
-
-
实时风控,特殊场景可以做到100ms内响应
-
可视化规则编辑器,丰富的运算符、计算规则灵活
-
支持中文,易用性更强
-
自定义规则引擎,更加灵活,支持复杂多变的场景
-
插件化的设计,快速接入其它数据能力平台
-
NoSQL,易扩展,高性能
-
配置简单,开箱即用!
技术选型
-
-
Springboot:笔者是java 出生, 选择 Springboot 理所当然,方便自己, 也方便其他Java使用者进行扩展。
-
Mybatis + tkMapper:持久层框架, tkMapper 提供mapper 通用模板功能,减少重复代码的生成。
-
Mysql :本项目中关系数据库,主要用于存放 风险模型的元信息。
-
MongoDB:用于存放事件JSON, 提供基本统计学计算(例如:max, min, sum, avg,), 复杂的统计学概念(sd,variance, etc…)在内存中计算。
-
ES:提供数据查询和规则命中报表服务。
-
Redis:提供缓存支持,Engine 利用发布订阅特性监听管理端相关配置的更新
-
Groovy:规则引擎,风控规则最后都生成 groovy 脚本, 实时编辑,动态生成,即时生效。
-
Swagger: Rest API 管理
架构图
系统模块
项目地址
Github: https://github.com/wfh45678/radar
官网:https://www.91risk.com