一飞开源
阅读683

[开源]轻量级实时风控引擎,适用于反欺诈场景,极简配置开箱即用

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

风控引擎(Radar)

一款基于java语言,使用Springboot + Mongodb + Groovy + Es等框架搭建的轻量级实时风控引擎,适用于反欺诈应用场景,极简的配置,真正做到了开箱即用。
通过学习本项目能快速了解风险的定义,进而量化风险 ,最后达到集中管理风险的目的。
A real-time risk analysis engine,which can update risk rule in real-time and make it effective immediately.
It applies to the anti-fraud application perfectly. The project code called Radar, like the code, monitor the transaction at the back.

二、开源协议

使用MulanPSL-2.0开源协议

三、界面展示

模型配置

新建模型

初次熟悉系统的时候建议选择使用 模板 创建模型。
图片

字段管理

查看刚才新建模型的字段,通过修改和增加调整模型。
图片

预处理字段

系统自带一些插件用来对原始字段转换处理。
图片

特征处理

定义我们需要关心的指标。
图片
图片

Activation 策略集管理

整个风险的量化过程就在这里,模型的输出点,组合若干条特征,综合计分,通常定义两个分数线,一个是审核线(低分数表示需要人工审核,
一个拒绝线,表示此交易可以直接拒绝)
图片
图片

构建模型

点击构建模型,Mongodb,ES将会为模型创建索引信息
图片

模型激活

最后一定要点击激活按钮,大功告成!
图片
模型建立好了,赶紧测试一下吧!

四、功能概述

项目特点

  • 实时风控,特殊场景可以做到100ms内响应

  • 可视化规则编辑器,丰富的运算符、计算规则灵活

  • 支持中文,易用性更强

  • 自定义规则引擎,更加灵活,支持复杂多变的场景

  • 插件化的设计,快速接入其它数据能力平台

  • NoSQL,易扩展,高性能

  • 配置简单,开箱即用!

背景

伴随着移动互联网的高速发展,羊毛党快速崛起,从一平台到另一个平台,所过之处一地鸡毛,这还不是最可怕的, 随之而来的黑产令大部分互联网应用为之胆寒,通常新上线的APP的福利比较大,风控系统不完善,BUG 被发现的频率也比较高, 黑产利用BUG短时间给平台带来了巨大的损失,某多多的(100元测试优惠券,一夜损失上百万W)就是一例。针对这一现象, 拥有一款实时的风控引擎是所有带有金融性质的APP 的当务之急,Radar应景而生。Radar前身是笔者前公司的一个内部研究项目,由于众多原因项目商业化失败,考虑到项目本身的价值,弃之可惜, 现使用Springboot进行重构,删除了很多本地化功能,只保留风控引擎核心,更加通用,更加轻量,二次开发成本低, 开源出来,希望能给有风控需求的你们带来一些帮助。

项目初衷

我们知道企业做大后,会有很多产品线,而几乎每一个产品都需要做风险控制,通常我们都是把风险控制的逻辑写在相应的业务功能代码里, 大量重复的风控逻辑代码耦合在我们的业务逻辑里面,随着时间的累积,代码会变得异常复杂,会给后期的维护造成巨大的人力成本和风险。

所以风险的集中化管理势在必行,只有通过一个统一的管理平台,使用规则引擎,采用可视化配置的形式, 平台化管理不同产品的风控策略才是一种更好的方式, 而这正是Radar的初衷。

五、技术选型

项目架构

前后端分离架构

后端技术框架:

SpringBoot + Mybatis + tkMapper + Mysql + MongoDB + Redis + Groovy + ES + Swagger

前端技术框架:

React(SPA)

架构图

图片

技术选型

  • 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 管理

使用手册

详细内容请查看 README.md 文档

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章