| home | true | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| title | Ice - 轻量级可视化规则引擎 | 业务编排框架 | |||||||||||||||||||||
| description | Ice 是一款轻量级、高性能的可视化规则引擎和业务编排框架。零外部依赖,支持 Java、Go、Python 多语言 SDK,毫秒级执行,Docker 一键部署。 | |||||||||||||||||||||
| keywords | 规则引擎,可视化规则引擎,Java规则引擎,Go规则引擎,业务编排框架,决策引擎,轻量级规则引擎,开源规则引擎,低代码,Ice规则引擎,风控引擎 | |||||||||||||||||||||
| heroImage | /images/hero.svg | |||||||||||||||||||||
| actions |
|
|||||||||||||||||||||
| features |
|
docker run -d --name ice-server -p 8121:8121 \
-v ./ice-data:/app/ice-data \
waitmoon/ice-server:latesttar -xzvf ice-server-*.tar.gz && cd ice-server
sh ice.sh start访问 http://localhost:8121 进入可视化配置界面。
IceFileClient client = new IceFileClient(1, "./ice-data", "com.your.package");
client.start();client, _ := ice.NewClient(1, "./ice-data")
client.Start()client = ice.FileClient(app=1, storage_path="./ice-data")
client.start()::: tip 共享存储
Server 和 Client 通过共享同一个 ice-data 目录实现配置同步,无需网络通信。
:::
在 Server 界面配置规则树 → 点击应用 → Client 自动热加载,在代码中调用执行:
IceRoam roam = IceRoam.create();
roam.setId(1L);
roam.put("uid", 12345);
Ice.syncProcess(roam);roam := ice.NewRoam()
roam.SetId(1)
roam.Put("uid", 12345)
ice.SyncProcess(context.Background(), roam)roam = ice.Roam.create(id=1)
roam.put("uid", 12345)
ice.sync_process(roam)查看完整快速开始指南 · Java SDK · Go SDK · Python SDK
| 场景 | 说明 |
|---|---|
| 营销活动 | 优惠券、满减、拼团等复杂营销规则的灵活配置 |
| 风控决策 | 信贷风控、反欺诈、实时风险评估引擎 |
| 权限控制 | 动态权限管理、角色配置、资源访问控制 |
| 流程编排 | 工单流转、审批流程、状态机管理 |
| 特性 | Ice | 传统规则引擎(Drools 等) |
|---|---|---|
| 学习成本 | 5 分钟上手 | 需要学习 DSL |
| 部署复杂度 | Docker 一键部署,零依赖 | 依赖数据库和中间件 |
| 配置方式 | Web 可视化树形编排 | 文本或代码 |
| 性能 | 纯内存,毫秒级 | 编译执行,有开销 |
| 修改规则 | 热更新,秒级生效 | 需重启或重新部署 |
| 变更影响 | 节点独立,互不影响 | 牵一发而动全身 |
Apache-2.0 Licensed | Copyright 2022-present WaitMoon | 沪ICP备2025108706号 | llms.txt
<style>
.user-logos {
margin: 24px 0;
}
.logo-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.logo-row a {
display: inline-flex;
align-items: center;
padding: 8px 16px;
border-radius: 6px;
transition: background-color 0.2s;
}
.logo-row a:hover {
background-color: var(--c-bg-light);
}
.logo-row img {
height: 1.5em;
max-width: 160px;
object-fit: contain;
}
.site-footer {
margin-top: 48px;
padding-top: 16px;
border-top: 1px solid var(--c-border);
font-size: 12px;
color: var(--c-text-lightest);
text-align: center;
}
</style>