# 风控引擎 **Repository Path**: fireworkstudio/risk-control ## Basic Information - **Project Name**: 风控引擎 - **Description**: 风控,反欺诈引擎,模仿radar,vue+springboot - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 28 - **Created**: 2022-01-08 - **Last Updated**: 2022-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 风控引擎 #### 技术栈 vue + SpringBoot + spring security + mybatis-plus + knife4j + MongoDB + Redis ## 注意==》这是个半成品 #### 介绍 模仿开源项目 radar,链接:https://gitee.com/freshday/radar 做这个项目的初衷是因为我当时在公司正好做风控系统这块的调研,开源的风控项目就radar内容比较全比较容易改,当时只是做了个demo,后来离职了,留着也是浪费,索性做的完善点给有需要的人吧,也算对自己技术的一个总结,radar前端要收费所以我用vue写了个一模一样的界面,如下图。 ![系统模块](./web-ui/src/assets/img/Image%201.png) #### 建议 要做一个风控或反欺诈引擎,一般要解决两个问题,一是如何编写规则,二是如何让规则生效, 编写规则一般都是给个页面让你点点点然后生成规则脚本,然后由脚本引擎如Groovy或开源框架Drools等执行验证数据是否符合规则, 如果你是按照这个路线走,那么接下来只要选择高效率且支持各种聚合查询的组件即可,这是最省事的选择。 radar选择的就是这种模式,将页面的规则转换成Groovy脚本(其实就是一个很长的if(.....)在生效),然后MongoDB各种花式聚合查询, 所以整个项目的性能大部分取决于MongoDB的性能。es在他那只是查询中标的规则而已,毕竟es写入太慢了。 如果你对时间延迟要求很高,且数据量很庞大的话,这个架构是行不通的。看博文这种类型的需求要用Flink的架构,但是并没有看到现成的开源项目。