面向电商反欺诈场景的低代码风控规则引擎,支持可视化规则配置、决策流编排、灰度发布和版本管理。业务人员可独立配置风控规则,50ms 内返回决策结果(实测 p50 ≈ 1ms,压测 p95 = 18.3ms)。
2026-09 起后端以 Kotlin + 云原生架构重写完成(旧 Java 单体已移除,历史见 tag
legacy/single-machine-java17),前端 React 应用保留,API 契约保持兼容。
- 可视化规则编辑器 — 表单化配置条件/动作,无需编写代码;支持切换到 Groovy DSL 模式自由编写脚本
- 决策流编排 — 基于 React Flow 的拖拽式流程编辑器,条件分支、规则集、黑白名单、合并等节点类型
- 版本管理与灰度发布 — 每次修改自动生成版本快照;按流量比例灰度推送,支持可视化 Diff 对比
- 决策服务 — 无状态水平扩展,Groovy 沙箱执行(SecureASTCustomizer 白名单),编译缓存 + Redis pub/sub 即时失效
- 权限与安全 — Sa-Token RBAC、团队数据隔离、审计日志;跨服务会话经 Redis 共享
- 可观测 — Prometheus 指标 + Grafana 面板 + JSON 结构化日志 + K6 压测脚本
modules/
├── domain/ # 纯 Kotlin 领域模型,零框架依赖
├── dsl/ # 规则 DSL 结构模型(与前端 dslGenerator/dslParser 对应)
├── engine/ # Groovy 脚本引擎:编译缓存、沙箱校验、类加载隔离
├── storage/ # Exposed 表定义 + 仓储 + Flyway 初始化脚本(单一 V1__init)
├── shared/ # Kafka 事件契约、缓存抽象、通用设施
├── decision-api/ # 决策链路组件库:经 classpath 并入 admin-api 同进程运行(可拆回)
├── admin-api/ # 统一部署物:管理面 + 决策面(8080)
└── log-consumer/ # 日志消费(Kafka → 批量落库,规划中)
build-logic/ # Gradle 约定插件(kotlin-library / spring-library / spring-app)
frontend/ # React + TypeScript + Vite(3000 端口)
deploy/ # docker-compose + K8s manifests + Prometheus/Grafana/Logstash + K6
分布式关键设计:决策节点完全无状态;规则配置以 PostgreSQL 为唯一事实源;编译脚本缓存本地 Caffeine + Redis pub/sub 即时失效 + 短 TTL 兜底;决策请求全程钉住规则版本号保证灰度一致性。
| 类别 | 技术 |
|---|---|
| 语言 / 运行时 | Kotlin 2.4 (K2) / JDK 25 (LTS) |
| 应用框架 | Spring Boot 4.1(webmvc starter) |
| 脚本引擎 | Groovy 5(规则 DSL,宿主为 Kotlin) |
| ORM / 数据库 | Exposed 1.x / PostgreSQL 16 |
| 缓存 / 会话 | Redis(Sa-Token 跨服务会话 + 缓存失效广播)、Caffeine |
| 消息(规划) | Kafka(决策日志流,切换点已预留) |
| 构建 / 质量 | Gradle 9.8 (Kotlin DSL) / ktlint / Spotless |
前置:JDK 25(Gradle 必须跑在其上,如 export JAVA_HOME=~/.sdkman/candidates/java/25.0.1-graalce)
./gradlew build # 全量构建 + 测试 + 格式检查
./gradlew test # 全部测试(集成测试走 Testcontainers)
./gradlew :modules:admin-api:bootRun # 统一后端 :8080(管理面 + 决策面同进程)
cd frontend && npx vite --port 3000 # 前端 :3000(dev 代理指向 8080)本地全栈(含 PostgreSQL/Redis/可观测组件):
docker compose -f deploy/compose.local.yml up -d数据源与 Redis 地址经 DB_URL / REDIS_URL 环境变量覆盖,默认值见各部署物 application.yml。首次启动 Flyway 自动执行初始化脚本(V1__init),初始管理员 admin / admin123。
AGENTS.md— 项目上下文唯一权威来源(技术栈矩阵、Boot 4 坑位、路线进度)pub_docs/— 功能设计文档.planning/STATE.md— 当前里程碑状态(后续演进基线)
暂未设置开源许可证,默认保留所有权利。