iceice
💒首页
  • 快速上手
  • 详细指南
  • 项目简介
  • 常见问题
🧩体验
💖赞助
  • 更新日志
  • 升级指南
  • 深入

    • 架构设计
    • 项目结构
  • 友情链接

    • 流程编排框架-Kstry
👥加入群聊
  • GitHub
  • Gitee
  • English
  • 简体中文
💒首页
  • 快速上手
  • 详细指南
  • 项目简介
  • 常见问题
🧩体验
💖赞助
  • 更新日志
  • 升级指南
  • 深入

    • 架构设计
    • 项目结构
  • 友情链接

    • 流程编排框架-Kstry
👥加入群聊
  • GitHub
  • Gitee
  • English
  • 简体中文
ice

ice

致力于解决灵活繁复的硬编码问题

快速上手在线演示项目简介

🎯 可视化规则编排

采用创新的树形编排思想,提供 Web 可视化配置界面。在保障业务解耦和代码复用的同时,提供最大的规则配置自由度。

⚡ 轻量高性能

纯内存运算,毫秒级响应,几乎零性能损耗。完美支持高并发业务场景,让您只需关注业务逻辑本身。

🐳 零依赖架构

无需 MySQL、ZooKeeper 等外部依赖。Docker 一键部署,5 秒完成。配置以 JSON 文件存储,支持版本控制。

🚀 三步快速开始

Step 1:部署 Ice Server

访问 http://localhost:8121 进入可视化配置界面。

Step 2:集成 Ice Client SDK

在业务应用中添加依赖并启动 Client(需与 Server 共享同一个 ice-data 目录):

Java

<dependency>
  <groupId>com.waitmoon.ice</groupId>
  <artifactId>ice-core</artifactId>
  <version>3.0.2</version>
</dependency>

Go

go get github.com/zjn-zjn/ice/sdks/go

Python

pip install ice-rules

启动 Client:

Java

IceFileClient client = new IceFileClient(1, "./ice-data", "com.your.package");
client.start();

Go

client, _ := ice.NewClient(1, "./ice-data")
client.Start()

Python

client = ice.FileClient(app=1, storage_path="./ice-data")
client.start()

Step 3:配置规则并执行

  1. 在 Server 可视化界面配置业务规则
  2. 发布规则,Client 自动热加载
  3. 在业务代码中调用规则执行

Java

IcePack pack = new IcePack();
pack.setIceId(1L);
pack.setRoam(new IceRoam().put("uid", 12345));
Ice.syncProcess(pack);

Go

pack := ice.NewPack().SetIceId(1)
pack.Roam.Put("uid", 12345)
ice.SyncProcess(context.Background(), pack)

Python

pack = ice.Pack(ice_id=1)
pack.roam.put("uid", 12345)
ice.sync_process(pack)

👉 查看完整快速上手指南 | Go SDK 指南 | Python SDK 指南

适用场景

场景说明
🎁 营销活动优惠券、满减、拼团等复杂营销规则的灵活配置
💰 风控决策信贷风控、反欺诈、实时风险评估引擎
🔐 权限控制动态权限管理、角色配置、资源访问控制
📊 流程编排工单流转、审批流程、状态机管理

为什么选择 Ice?

特性Ice传统规则引擎
学习成本5 分钟上手需要学习 DSL
部署复杂度Docker 一键部署依赖数据库/中间件
配置方式Web 可视化文本/代码
性能纯内存,毫秒级编译执行,有开销
修改规则热更新,秒级生效需重启或重新部署

用户列表

谁在使用 Ice?


Apache-2.0 Licensed | Copyright 2022-present WaitMoon | 沪ICP备2025108706号