2023/03 作者:ihunter 0 次 0
https://gitee.com/freshday/radar
---
Radar功能丰富,包括:
实时风控,特殊场景可以做到100ms内响应
可视化规则编辑器,丰富的运算符、计算规则灵活
支持中文,易用性更强
自定义规则引擎,更加灵活,支持复杂多变的场景
插件化的设计,快速接入其它数据能力平台
NoSQL,易扩展,高性能
配置简单,开箱即用
---
Radar采用前后端分离架构:
后端技术框架: SpringBoot + Mybatis + tkMapper + Mysql + MongoDB + Redis + Groovy + ES + Swagger
前端技术框架: React(SPA)
---
各技术用途如下:
Springboot:Java Web 框架
Mybatis + tkMapper: 持久层框架, tkMapper 提供mapper 通用模板功能,减少重复代码的生成
Mysql : 本项目中关系数据库,主要用于存放风险模型的元信息
MongoDB: 用于存放事件JSON, 提供基本统计学计算(例如:max, min, sum, avg,), 复杂的统计学概念(sd,variance, etc...)在内存中计算
ES: 提供数据查询和规则命中报表服务
Redis: 提供缓存支持,Engine 利用发布订阅特性监听管理端相关配置的更新
Groovy: 规则引擎,风控规则最后都生成 groovy 脚本,实时编辑,动态生成,即时生效
Swagger: Rest API 管理
---
架构图如下:
Radar提供了可视化的配置后台,能够很方便地进行模型构建和规则配置。通过模块创建风险模型:
定义需要关心的数据指标:
并进行策略集管理:
Radar安装简单,下载代码后maven安装:
git clone https://gitee.com/freshday/radar.git mvn clean install
然后进行数据库的配置:
CREATE DATABASE IF NOT EXISTS radar DEFAULT CHARSET utf8mb4; # 初始化数据库 source radar-init.sql source radar-1.0.6.sql
项目启动还需要安装 redis 、 mongodb、elasticsearch,可以根据自身的开发环境自行配置。
两个启动项目的application.yml 都需要进行修改, 除了mysql配置外,在启动前还需要配置如下几个必要的选项:mongodb,redis,手机号码段文件,ip地址库:
mongodb: url: mongodb://localhost:27017/radar //mongodb mobile: info: path: D:/soft/moble_info.csv //手机号码段信息 ip2region: db: path: D:/soft/ip2region.db // IP地址库
然后启动即可:
# 运行服务端 cd radar-admin java -jar radar-admin.jar # 运行引擎端 cd radar-engine java -jar radar-engine.jar
后台入口为:
管理端入口:http://localhost:6580 默认用户:admin/123456 引擎端入口:http://localhost:6581
---总结
Radar 基于Java语言,是使用 Spring boot + Mongodb + Groovy + Es 等框架搭建的轻量级实时风控引擎,适用于反欺诈应用场景,极简的配置,真正做到了开箱即用。其便捷的可视化配置方式,使得小团队也能快速上手,构建自有的风控系统。
---
现如今,互联网平台的风险也与日俱增,尤其是带有金融性质的平台,往往会受到一些互联网黑产灰产的关注。成熟的互联网系统,往往都会拥有风险控制系统,对一些风险行为和用户进行监控,预防风险,提前止损。
然而,不同的业务线中各做各的风控系统,会增加代码维护成本,一个统一的风控管理平台势在必行。同时,风控系统的核心,往往是一个规则引擎,通过对风险行为建模后配置规则来实现。Radar,就是这样一个易用的风控引擎。
Radar 基于Java语言,是使用 Spring boot + Mongodb + Groovy + Es 等框架搭建的轻量级实时风控引擎,适用于反欺诈应用场景,极简的配置,真正做到了开箱即用。通过本项目能快速了解风险的定义,进而量化风险 ,最后达到集中管理风险的目的。
上篇:
新一代轻量级企业私有云平台建设与应用方案
下篇:
装备制造全价值链解决方案