LiteFlow:国产优秀的Java组件式规则引擎,构建复杂逻辑系统的神器!

bryan311年前 ⋅ 4603 阅读

给大家推荐一个国产的Java规则引擎,强大的特性和极易使用的功能让你在处理复杂业务时变的更加优雅灵活!

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

项目官网:

https://liteflow.yomahub.com

gitee托管仓库:

https://gitee.com/dromara/liteFlow

github托管仓库:

https://github.com/dromara/liteflow

image.png

请问该如何添加规则?有样例代码吗

我司以前也基于人工规则+机器学习模型搞了个统一规则引擎,人工规则优先级大于模型预测的

楼主的规则引擎最好加个页面操作的支持吧,毕竟方便和展现规则链路直观

@FFFFFF  有啊,官网有文档,已经写的很详细了。而且800多个测试用例,example工程,都有,在官网上都能找到

@bryan31  看到了, https://gitee.com/bryan31/liteflow-example

位置不明显有点难找啊

有哪些使用场景?

LiteFlow是一款优秀的Java组件式规则引擎,它可以帮助开发者构建复杂的逻辑系统,适用于诸如以下场景:

1.业务规则引擎: LiteFlow可以帮助企业根据需要对业务规则进行自定义配置和管理,从而提高业务处理的效率和质量。

2.风控系统: LiteFlow可以帮助企业快速响应各种市场风险,根据需要对自定义规则进行配置,提高风险控制效力。

3.智能匹配: LiteFlow能够对海量数据进行智能匹配并进行筛选,提高匹配精度和效率,适用于各种智能匹配场景。

4.数据清洗: LiteFlow能够对大量数据进行清洗过滤和分类,提高数据的质量和准确性。

5.业务流程控制: LiteFlow能够根据业务流程需要,构建复杂的业务逻辑,提高业务流程控制的效率和可维护性。

总之, LiteFlow适用于各种需要高效处理和控制的场景,能够帮助企业快速响应市场变化并提高业务水平。

有哪些类似的项目?

1. Drools:基于Java的规则引擎,强调可扩展性和灵活性。它支持不同的输入格式和特定的规则类型,可以根据需要定制。

2. Easy Rules:基于Java的简单规则引擎,具有轻量级和易于使用的特点。

3. Jess:Java专业的规则引擎,支持多种规则类型和数据类型。它具有高效的规则评估和优化机制。

4. JBoss Rules:基于Java的规则引擎和流程引擎,可以用于构建复杂的业务流程。

5. JRules:基于Eclipse平台的规则引擎,具有易于使用和高度可视化的特点。

6. OpenL Tablets:基于Java的规则引擎和决策管理系统,支持多种数据类型和规则类型。

7. Rulebook:基于Java的规则引擎,具有高效的规则评估和优化机制。它支持多种规则类型和数据类型,可以根据需要进行定制。

有哪些优缺点?

优点:
1. 高效性能:LiteFlow具有极高的性能和稳定性,支持高并发、大数据量的应用场景。

2. 组件化设计:LiteFlow将业务逻辑分成多个组件,降低了代码的耦合性,支持快速构建业务逻辑复杂的系统。

3. 灵活性:LiteFlow提供了多种配置方式和扩展方式,支持动态修改流程配置和流程实时执行,满足各种复杂场景的需求。

4. 容错性:LiteFlow在流程异常处理方面较为完善,支持自定义异常处理策略,避免了业务逻辑在处理过程中的异常情况。

缺点:
1. 缺少图形化界面:LiteFlow 目前没有图形化界面,需要使用 Java 代码来配置流程,开发效率较低。

2. 缺少完善的文档:LiteFlow 的文档相对较少,部分功能需要通过源码了解,不太利于开发人员使用和调试。

3. 需要一定的技术储备:LiteFlow 对开发人员的技术储备有一定要求,需要熟悉 Java 编程语言和规则引擎的基本概念,才能更好地使用该组件式规则引擎。

全部评论: 0

    相关推荐