This issue recommends the real-time Risk Engine (Risk Engine), which can be customized Rule Script, perfect support for Chinese, suitable for Anti-fraud application scenarios, out of the box!! A tool for risk management in the mobile Internet era.
project introduction
A lightweight real-time risk control engine based on java language, using Springboot + Mongodb + Groovy + Es and other frameworks, suitable for anti-fraud application scenarios, minimal configuration, really out of the box.
By learning this project, we can quickly understand the definition of risks, and then quantify risks, and finally achieve the purpose of centralized risk management.
characteristic of project
- Real-time risk control, special scenarios can be achieved within 100ms response
Visual rule editor, rich operators, flexible calculation rules
Support Chinese language, better ease of use
Custom rule engine, more flexible, support complex and changing scenarios
Plug-in design, fast access to other data capabilities platform
NoSQL, easy to expand, high performance
Simple configuration, out of the box!
Project structure
Front end separation architecture
Back-end technology framework: SpringBoot + Mybatis + tkMapper + Mysql + MongoDB + Redis + Groovy + ES + Swagger
Front-end technology framework: React(SPA)
Architecture diagram
Engine processing flow
Data ER diagram
install and use
git clone https://gitee.com/freshday/radar.gitmvn clean install
database configuration
CREATE DATABASE IF NOT EXISTS radar DEFAULT CHARSET utf8mb4;# initialized databasesource radar-init.sqlsource radar-1.0.6.sql
Middleware configuration
To start the project, you also need to install redis, mongodb, and elasticsearch
Or install it through docker
// redisdocker pull redis:3.2docker run --name redis3.2 -p 6379:6379 -d redis:3.2 redis-server --appendonly yes // mongodocker pull mongo:4.0.13-xenialdocker run --name mongo4.0 -p 27017:27017 -d mongo:4.0.13-xenial // esdocker pull elasticsearch:6.8.7docker run -d --name es6.8 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --restart=always elasticsearch:6.8.7
Application configuration
mongodb: url: mongodb://localhost:27017/radar //mongodb mobile: info: path: D:/soft/moble_info.csv //Mobile phone number segment informationip2region: db: path: D:/soft/ip2region.db // IPAddress base
start
# Run server cd radar-admin java -jar radar-admin.jar# Run engine sidecd radar-enginejava -jar radar-engine.jar
Interface usage
Templates are recommended when you are first familiar with the system
Run server
feature processing
Activation policy set management
The whole risk quantification process is here, the output point of the model, combining several features, comprehensive score, usually defined two score lines, one is the audit line (low score indicates the need for manual audit, a rejection line, indicating that the transaction can be directly rejected)