找回密码
 立即注册
首页 业界区 业界 一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍 ...

一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!

彼瞄 2026-2-9 16:35:12
大家好,我是 Guide。今天来推荐一款非常优秀的国产规则引擎,说不定你曾经就用过。下面是正文。
你有没有接过那种祖传代码?一个几千行的 if-else 堡垒,改一行逻辑,要测半天。更糟的是,业务方今天说要"先 A 后 B",明天又改成"A 和 B 并行,等 C 完成再接 D",每次改流程都要重构代码。
LiteFlow 是一个国产规则引擎,专门解决"业务逻辑耦合"问题。它把瀑布流式的代码拆成一个个独立组件,用一套 DSL 语法重新编排,改流程就像搭积木。

解决了什么问题?

传统复杂业务系统的痛点:

  • 改一处动全身:代码里到处是硬编码的流程判断,改个顺序要改好几个地方。
  • 难以热变更:业务流程调整需要重新发版,没法实时生效。
  • 组件复用难:每个业务场景都写一套逻辑,同样的代码在到处复制。
LiteFlow 的核心思路是 "工作台模式" :想象一个工厂流水线,n 个工人围着工作台,每个人只负责自己那道工序,完成就把半成品放回工作台,下一个人接着做。工人之间不需要沟通,只需要关心自己手头的活和工作台上的资源。
映射到代码世界:工人就是组件,工作台就是上下文,工序顺序就是规则配置。

下图是 LiteFlow 官方文档对核心能力(组件编排、实时热更替和复用)的图解:

LiteFlow 是什么?


LiteFlow 是一款国产开源的轻量级规则引擎框架,专注解决复杂业务逻辑的解耦与编排问题,支持 Spring Boot 2.x/3.x,最低 JDK 8 即可运行。
核心功能

  • 组件化拆分:把长链条的业务逻辑拆成独立组件,每个组件只做一件事。
  • 规则驱动编排:用简洁的 EL 表达式定义组件执行顺序,支持串行、并行、条件、循环等复杂逻辑。
  • 脚本组件支持:支持 Java、JavaScript、Groovy、QLExpress、Python、Lua、Aviator 等多种脚本语言,Java 脚本编译速度在 v2.15.3 版本后提升了 200 倍(2000 个脚本从 30 秒降到 150 毫秒)。
  • 热部署能力:规则和脚本可以存放在数据库、注册中心(Nacos、Etcd、Zookeeper),修改后实时生效,无需重启。
  • 可视化编排:支持 LiteFlowX 可视化编排界面,拖拽就能设计流程。
  • 自带简单监控:框架内自带一个命令行的监控,能够知道每个组件的运行耗时排行。
LiteFlow 的核心是基于 EL 表达式的规则解析引擎,在 v2.15.2 版本中,底层规则引擎从 QLExpress 3 全面升级到 QLExpress 4,带来性能提升:
测试指标QL3 版本QL4 版本提升幅度编译阶段 TPS2,739 ops3,636 ops提升 32%上下文参数注入55,826 ops222,625 ops提升 300%数据来源:LiteFlow 官方压测报告,采用 benchmark 框架,2 次预热、3 次执行取平均值。
QLExpress 是由阿里巴巴开源的轻量级动态脚本引擎,目标是将业务逻辑从繁重的 Java 代码中解耦,变成可以动态执行的脚本。

LiteFlow 在今年的 Gitee 年度开源项目评选中获得了基础软件赛道第二名的成绩。

快速上手

安装
  1.     com.yomahub    liteflow-spring-boot-starter    2.15.3
复制代码
LiteFlow 支持 JDK 8 ~ JDK 25 全版本,但如果你用 JDK 9+,建议直接上 v2.15.0+ 版本,无需额外配置 JVM 参数。
配置规则文件

在 application.properties 里指定规则文件位置:
  1. liteflow.rule-source=config/flow.el.xml
复制代码
然后在 resources/config/flow.el.xml 定义规则 THEN(validateOrder, WHEN(checkStock, calcPrice), riskCheck, saveOrder);:
  1.             THEN(            validateOrder,            WHEN(checkStock, calcPrice),            riskCheck,            saveOrder        );   
复制代码
这段表达式定义了执行的拓扑结构:

  • THEN:串行执行,必须先执行完前面的节点,才能进入下一个。
  • WHEN:并行执行,在此例中,checkStock(检查库存)和 calcPrice(计算价格)会同时开启异步线程执行,提升接口响应速度。
规则含义:先校验订单 → 然后并行查库存和算价格 → 再做风险检查 → 最后保存订单。
定义组件

通过实现 NodeComponent定义组件:
[code]@LiteflowComponent("validateOrder")public class ValidateOrderCmp extends NodeComponent {    @Override    public void process() {        // 从上下文获取订单数据        OrderContext context = this.getContextBean(OrderContext.class);        Order order = context.getOrder();        // 校验逻辑        if (order.getAmount()

相关推荐

6 天前

举报

懂技术并乐意极积无私分享的人越来越少。珍惜
您需要登录后才可以回帖 登录 | 立即注册