AutoCompose - 携程自动编排【开源】

AutoCompose - 携程自动编排【开源】

AutoCompose是一款单事件驱动(无状态)的流程引擎。使用本框架,能够轻松实现复杂服务的自动化编排【零配置、零编码】,能够显著提高开发维护效率。支持同步编程、异步编程(已支持CompletableFuture、Reactor、ListenableFuture)。

AutoCompose核心特点是:

  • 通过解析代码的方式(零配置:不需要配置维护编排规则文件),
  • 自动得(零编码)获取业务流程模型,
  • 自动得(零编码)按照模型将组件(以最优并发策略)组合执行。

一切都是自动的(显著减少开发维护工作量),这也是本框架命名为自动编排的初衷。

和开源框架LiteFlow框架有什么区别?

两款框架都是解决复杂服务开发的单事件驱动(无状态)的流程引擎。

LiteFlow的作者认为它是规则引擎,虽然有这种说法上的差异,但实际上,两者的功能、解决的问题是一样的。

AutoCompose追求简化开发提升效率,LiteFlow倾向于更灵活的的编排能力。

AutoCompose LiteFlow
学习成本 低(熟悉几个接口与API) 高(组件接口类型多,还要学习其EL表达式写法)
使用成本 低(省去编排代码开发,自动组件数据传递,显著降低开发维护工作量) 高(需要额外开发维护编排文件,需要硬编码数据传递)
编排灵活性 低(只支持串行编排、并行编排) 高(支持非常丰富灵活的编排能力)
异步编程 支持(显著简化异步编程,降低门槛,提高开发效率) 不支持
代码可读性 高(逻辑都在代码里) 低(必须结合代码与编排文件,才能确定实际执行逻辑)
逻辑可视化 高(可生成业务流程图) 中(可阅读编排文件)

如果你想知道AutoComposable的简单使用,可以看:

AutoCompose 简单介绍

如果你想了解其中的具体细节,AutoCompose 的实现核心主要依赖这几个方面:

开源地址

相关推荐
Wang's Blog6 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
\光辉岁月/7 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang7 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
海绵宝宝转agent8 小时前
MySql高频面试八股开源笔记总结
mysql·面试·开源
郑州光合科技余经理8 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071578 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
code2cat8 小时前
Java进阶篇之AtomicReference:一次替换引用,读到一份完整状态
java·并发编程·不可变对象·atomicreference
专业程序开发源8 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Wang's Blog8 小时前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
专业程序开发源8 小时前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计