前言
在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻辑,几乎每个需求都和这些核心业务有关,这些核心业务业务逻辑冗长,涉及内部逻辑运算,缓存操作,持久化操作,外部资源调取,内部其他系统RPC调用等等。时间一长,项目几经易手,维护成本就会越来越高。各种硬代码判断,分支条件越来越多。代码的抽象,复用率也越来越低,各个模块之间的耦合度很高。一小段逻辑的变动,会影响到其他模块,需要进行完整回归测试来验证。如要灵活改变业务流程的顺序,则要进行代码大改动进行抽象,重新写方法。实时热变更业务流程,几乎很难实现。
如何打破僵局?LiteFlow为解耦逻辑而生,为编排而生,在使用LiteFlow之后,你会发现打造一个低耦合,灵活的系统会变得易如反掌!
LiteFlow简介
LiteFlow是一个轻量且强大的国产流程引擎框架,可用于复杂的组件化业务的编排工作。通过它我们可以把业务逻辑都定义到不同组件之中,然后使用简洁的规则文件来串联整个流程,从而实现复杂的业务逻辑。
LiteFlow主要特性如下:
- 组件定义统一:所有的逻辑都是组件,直接使用Spring原生注解
@Component定义即可。 - 规则轻量:基于规则文件来编排流程,学习规则表达式入门仅需5分钟。
- 规则多样化:规则支持xml、json、yml三种规则文件写法,喜欢哪种用哪个。
- 任意编排:同步异步混编,再复杂的逻辑过程,都能轻易实现。
- 规则能从任意地方加载:框架中提供本地文件配置源和zk配置源的实现,也提供了扩展接口。
- 优雅热刷新机制:规则变化,无需重启应用,即时改变应用的规则。
- 支持广泛:同事支持SpringBoot,Spring或其他Java项目。
LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性,而且自带IDEA插件
有了这个就可以告别if else 了 真香!
不多说,直接上官网,贴案例