osgi 让 java 系统变成模块化的形式,ASM 是一款修改字节码的框架,同类型的框架 Cglib。这些框架能加载一个 class 信息,Javaagent&Attach API 结合 ASM

LiteFlow 的理念很简单,就是把系统中的各个逻辑切分成一小块一小块的,称之为组件,这些组件可以由 java 代码来写,也可以用脚本来写。然后一个完整业务就是把各个组件组搭一起,形成一个完整业务链。

这种模式的好处就是,不需要热更新的部分可以用 java 组件来写,需要经常变的部分可以用脚本来写。所有的组件均可混搭成为一个业务。如何编排这些组件,LiteFlow 独创了 ELF 语法,拥有非常好上手的编排语法。程序员的话,十分钟就可以上手。上图粉色部分就是最简单的一种串联形式。

业务链路中组件可实时更换,也可实时增加,形成一个新的业务链。同时定义好的组件也可复用在其他的链路中。

LiteFlow 的脚本方案也是利用 JSR223 来实现的,目前已经实现的脚本有三种:

为什么说利用 LiteFlow 编排引擎框架,你的所有逻辑都是可以变更的呢。因为你完全可以把所有的逻辑都用脚本组件来实现,LiteFlow 提供了非常强大的脚本支持,完全和 Java 底层打通,你可以在脚本中 import java 的类,也可以调用 java 的类方法,甚至于可以在脚本中去定义方法,定义类,一切写法和 java 中完全一样。

更夸张的是,LiteFlow 允许你在脚本中调用 spring 上下文的 bean,你可以在脚本中调用 DAO 取数据,可以在脚本中发送 rpc 给其他微服务。只要你愿意,你可以一行 java 业务代码不写,完全把业务搬到脚本组件中去。

而且连逻辑块的顺序你也可以随意变动,因为 LiteFlow 的编排规则和脚本均可实现热变更。

LiteFlow 为经常用的存储中间件也提供了原生支持:

LiteFlow 支持所有的关系型数据库,另外 zk,etcd,nacos 均可支持,还提供了额外的扩展接口,供你自己扩展成其他的存储方式。

有想过么,你所有的逻辑和规则编排语法,都是存在于系统之外的。只要更改其脚本和逻辑,你所有节点的系统不需要做任何事,实时的进行热变更。

而这一切,LiteFlow 做到了非常平滑,所谓平滑的意思是,不用担心在热变更的时候你的业务会受到任何的中断,也不会因为热变更造成正在执行的链路产生任何的异常。

LiteFlow 编排能力有多强大呢,简单的几个关键字就可以编排出超乎想象的效果:

结语

java 的业务热部署领域,LiteFlow 作为一款规则引擎

项目官网:

https://liteflow.yomahub.com

gitee 托管仓库:

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

github 托管仓库:

https://github.com/dromara/liteflow

LiteFlow 开源编排规则引擎相关推荐

  1. PHP可视化告警规则引擎,开源可视化规则引擎 决策引擎与规则引擎有什么区别?...

    如何部署JBoss Drools的可视化规则设计工具包 JBoss Drools的可视化规则设计工具包在Drools 4.0的时候叫drools-jbrms. drools-jbrms需要JDK1.5 ...

  2. java开源的规则引擎_Java常用的规则引擎

    概述 在本文中,我们将介绍Java中一些最受欢迎的规则引擎. 规则引擎简介 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编 ...

  3. Java开源的规则引擎 Drools 电商行业实战(含完整代码)

    前言 我所在项目组刚好接到一个领取优惠券需求,具体需求是用户领取的各种类型的优惠券(比如:代金券.折扣券)数量不能超过某个自定义数量,因考虑到领取限制数量是动态的,另外考虑到扩展性,满足将来业务规则的 ...

  4. 开源规则引擎 drools

    前言 在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改.为了适应这样的需求,我们的 IT 业务系统应该能快速且低成本的更新.适应这 ...

  5. 规则引擎和流程引擎我该怎么理解

    流程引擎 什么是流程引擎 流程引擎就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任务的过程 ...

  6. 常见的规则引擎(Drools,RuleBook,Easy Rules等)对比

    参考文章: https://www.jianshu.com/p/96cd60059aae 规则引擎调研 - 人在江湖之诗和远方 - 博客园 java开源规则引擎比较_常用规则引擎比较分析_学校砍了我的 ...

  7. 详解:Drools规则引擎探究

    引入 ▐ 问题引入 天猫奢品业务方为了吸引更多的新客,和提高会员的活跃度,做了一期活动,通过购买天猫奢品频道内的任意商品就赠送特殊积分,积分可以直接兑换限量的奢品商品.假如业务方给的规则如下: 主刃同 ...

  8. drools规则引擎因为内存泄露导致的内存溢出

    进入这个问题之前,先了解一下drools: 在很多行业应用中比如银行.保险领域,业务规则往往非常复杂,并且规则处于不断更新变化中,而现有很多系统做法基本上都是将业务规则绑定在程序代码中. 主要存在的问 ...

  9. Java代码的维护与更新,Java常用的规则引擎,让你变动的代码更加容易维护

    Java常用的规则引擎,让你变动的代码更加容易维护 Java常用的规则引擎,让你变动的代码更加容易维护 在本文中,我们将介绍Java中一些最受欢迎的规则引擎. 规则引擎由推理引擎发展而来,是一种嵌入在 ...

  10. .Net Core 环境下构建强大且易用的规则引擎

    1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满足要求.但随着业务的发展,越来越多的问题会暴露出来: 逻辑复杂度带来的编码挑战,需求变更时改变逻辑可能会引起 ...

最新文章

  1. python︱HTML网页解析BeautifulSoup学习笔记
  2. github怎么自动更新被人更新过的项目_8 个程序员应该掌握的 GitHub 实用技巧
  3. 【二分】递增(luogu 3902)
  4. 华为Mate X2再曝光:全新向内折叠方案 有望彻底消除折痕
  5. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引
  6. SqlServer中将某字符串按照特定的字符分隔并返回临时表
  7. idea抽取重复方法快捷键_idea 常用快捷键
  8. Java POJO 自动生成器
  9. 测试LOL帧数的软件,lol手游画质帧率修改器
  10. 常见的文件后缀名大全
  11. 计算机系统存储器 分类,存储器的分类
  12. [NOIP2010 普及组] 三国游戏 题解
  13. 这些车企在企业微信里,装上高速的“组织引擎”
  14. best time to cooldown
  15. Mysql innodb 间隙锁
  16. layui:图片上传
  17. 持续掉粉,Mac App Store被开发者“打入冷宫”?
  18. UIL(单例框架)Android-Universal-Image-Loader (图片加载框架)
  19. spring依赖注入原理详解
  20. 联想Filez助力中海地产点亮云化之路

热门文章

  1. Creo 9.0 基准特征:基准点
  2. jdk卸载,提示Windows Installer安装包有问题,此程序所需要的dll不能运行
  3. eval函数python原理_Python 中 eval 函数的神奇用法
  4. 本人常用软件(工具)
  5. dns被劫持了怎么处理 5种方法教你处理
  6. docker访问宿主机127.0.0.1
  7. Druid实战--摄入数据规范Ingestion Spec
  8. Silicycle反相C-18 SPE固相萃取小柱
  9. 高效c语言拧魔方算法,3阶魔方阵的算法
  10. ChAMP 差异甲基化分析