[开源]一个国产规则引擎框架,可用于复杂的组件化业务的编排领域

开源系统流程管理
2026-06-28 06:13 1 次浏览 • 0 次下载 0KB
[开源]一个国产规则引擎框架,可用于复杂的组件化业务的编排领域

一、开源项目简介

图片

LiteFlow是一个轻量且强大的国产规则引擎框架,可用于复杂的组件化业务的编排领域,独有的DSL规则驱动整个复杂业务,并可实现平滑刷新热部署,支持多种脚本语言规则的嵌入。帮助系统变得更加丝滑且灵活。

LiteFlow于2020年正式开源,直到现在已经是国内开源规则引擎中不可忽视的存在,而且最关键的是,LiteFlow还是一个持续高速迭代的开源项目。

 

LiteFlow是一个由社区驱动的项目,我们非常重视社区建设,拥有一个5000多人的使用者社区,在使用中碰到任何问题或者建议都可以在社区中反应。

 

你在LiteFlow官网中可以找到加入社区的方式!

二、开源协议

使用Apache-2.0开源协议

三、界面展示

图片
图片

四、功能概述

LiteFlow

轻量,快速,稳定,可编排的组件式规则引擎。 拥有全新设计的DSL规则表达式。 组件复用,同步/异步编排,动态编排,支持超多语言脚本,复杂嵌套规则,热部署,平滑刷新规则等等功能,让你加快开发效率!

特性

  • 组件定义统一:
     所有的逻辑都是组件,为所有的逻辑提供统一化的组件实现方式,小身材,大能量。
  • 规则轻量:
     基于规则文件来编排流程,学习规则入门只需要5分钟,一看既懂。
  • 规则多样化:
     规则支持xml、json、yml三种规则文件写法方式,喜欢哪种用哪个。
  • 任意编排:
     再复杂的逻辑过程,利用LiteFlow的规则,都是很容易做到的,看规则文件就能知道逻辑是如何运转的。
  • 规则持久化:
     框架原生支持把规则存储在标准结构化数据库,Nacos,Etcd,Zookeeper,Apollo,redis。您也可以自己扩展,把规则存储在任何地方。
  • 优雅热刷新机制:
     规则变化,无需重启您的应用,即时改变应用的规则。高并发下不会因为刷新规则导致正在执行的规则有任何错乱。
  • 支持广泛:
     不管你的项目是不是基于Springboot,Spring还是任何其他java框架构建,LiteFlow都能游刃有余。
  • JDK支持:
     从JDK8到JDK17,全部支持。无需担心JDK版本。
  • Springboot支持全面:
     支持Springboot 2.X到最新的Springboot 3.X。
  • 脚本语言支持:
     可以定义脚本语言节点,支持Groovy,Javascript,QLExpress,Python,Lua,Aviator,Java,Kotlin。未来还会支持更多的脚本语言。
  • 脚本和Java全打通:
     所有脚本语言均可调用Java方法,甚至于可以引用任意的实例,在脚本中调用RPC也是支持的。
  • 规则嵌套支持:
     只要你想的出,你可以利用简单的表达式完成多重嵌套的复杂逻辑编排。
  • 组件重试支持:
     组件可以支持重试,每个组件均可自定义重试配置和指定异常。
  • 上下文隔离机制:
     可靠的上下文隔离机制,你无需担心高并发情况下的数据串流。
  • 声明式组件支持:
     你可以让你的任意类秒变组件。
  • 详细的步骤信息:
     你的链路如何执行的,每个组件耗时多少,报了什么错,一目了然。
  • 稳定可靠:
     历时2年多的迭代,在各大公司的核心系统上稳定运行。
  • 性能卓越:
     框架本身几乎不消耗额外性能,性能取决你的组件执行效率。
  • 自带简单监控:
     框架内自带一个命令行的监控,能够知道每个组件的运行耗时排行。

☘️什么场景适用

LiteFlow是一款编排式的规则引擎,最擅长去解耦你的系统,如果你的系统业务复杂,并且代码臃肿不堪,那LiteFlow框架会是一个非常好的解决方案。

LiteFlow利用规则表达式为驱动引擎,去驱动你定义的组件。你有想过类似以下的多线程流程编排该如何写吗?

图片 图片

这一切利用LiteFlow轻而易举!框架的表达式语言学习门槛很低,但是却可以完成超高复杂度的编排。

LiteFlow拥有极其详细易懂的文档体系,能帮助你解决在使用框架的时候95%以上的问题。

目前为止,LiteFlow拥有2000多个测试用例,并且不断在增加中。完备的文档+覆盖全面的测试用例保障了LiteFlow框架的稳定性!

LiteFlow期待你的了解!

五、技术选型

 架构图

图片

☕️JDK支持度

LiteFlow要求的最低的JDK版本为8,支持JDK8~JDK17所有的版本。

如果你使用JDK11以上,确保LiteFlow的版本为v2.10.6及其以上版本。

因为LiteFlow从v2.10.6开始,对JDK11和JDK17进行了详细的用例测试,通过了全部的2200多个测试用例。而在v2.10.6以下版本,在JDK11以上是未经过测试用例保障的。

特别需要注意的是,如果你使用JDK9及其以上的版本,请确保jvm参数加上以下参数

--add-opens java.base/sun.reflect.annotation=ALL-UNNAMED
C#

✨ 最新版本

<dependency>
    <groupId>com.yomahub</groupId>
    <artifactId>liteflow-spring-boot-starter</artifactId>
    <version>2.13.2</version>
</dependency>
XML