此页面所有软件内容、截图、价格、介绍等均来源于互联网,地址均为第三方提供,请谨慎下载。



您的star是我继续前进的动力,如果喜欢LiteFlow请右上角帮忙点个star

🌈概述

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

LiteFlow于2020年正式开源,2021年获得开源中国年度最受欢迎开源软件殊荣。于2022年获得Gitee最有价值开源项目(GVP)荣誉。是一个正处在高速发展中的开源项目。

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

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

官网链接:点这里进入官网

文档链接:点这里进入文档进行学习

示例工程:DEMO1 | DEMO2

🍬特性

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

☘️什么场景适用

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

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

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

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

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

LiteFlow期待你的了解!

微信公众号

由于社区群超过200人,需要邀请入群。关注公众号后点击个人微信加我,我可以拉你入群

开源不易,支持就请赞助LiteFlow,请我喝一杯咖啡吧

网友提问

使用公司及组织登记 你希望LiteFlow新增哪些新特性?请在这里留言 2.10.5版本中ScriptBean注解注入bean失败 在使用数据库配置的时候,希望可以使用配置文件中已经配置的数据源,无需再单独添加 IF ( AND ( a, b ), x ) :假如a=false时,应该不需要执行b的,但实际执行了b 类级别声明组件优化建议 关于注解声明式使用场景LiteFlowMethodEnum增加getDisplayName等需求说明 希望针对节点执行耗时的打印日志支持控制 onError抛异常,异常堆栈信息未打印出来 允许对EL中的每⼀个组件设置超时时间控制 使用javascript脚本时,无法将数组和对象传输到上下文中,字符串和数值类型可以,graalvm调用返回的"undefined" 循环表达式中支持异步模式 本地文件监听异常会导致监听线程停止 MonitorBus#printStatistics:88打印部分场景存在排序问题 自定义异步线程池初始化存在并发问题 循环节点(iterator、while、for等)能否支持循环执行前和执行后操作 liteflow-core模块中使用了javax.annotation,在高版本jdk中,java.annotation包已经被移除 对于中间件和业务的整体增强建议 Condition setCurrChainId 是否存在并发时不同的 chain 同时修改的问题? 目前加载el文件,不支持绝对路径的通配,建议支持

温馨提示! 即将跳转到 第三方 网站下载具体内容

点赞(23) 打赏

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部