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

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

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

AutoCompose核心特点是:

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

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

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

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

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

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

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

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

AutoCompose 简单介绍

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

开源地址

相关推荐
hello早上好4 分钟前
JDK 代理原理
java·spring boot·spring
PanZonghui8 分钟前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui9 分钟前
Centos项目部署之Java安装与配置
java·linux
一支烟一朵花34 分钟前
630,百度文心大模型4.5系列开源!真香
人工智能·百度·开源·文心一言
沉着的码农39 分钟前
【设计模式】基于责任链模式的参数校验
java·spring boot·分布式
zyxzyx66643 分钟前
Flyway 介绍以及与 Spring Boot 集成指南
spring boot·笔记
Mr_Xuhhh1 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
纳兰青华1 小时前
bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
java·开发语言·spring·list
coding and coffee1 小时前
狂神说 - Mybatis 学习笔记 --下
java·后端·mybatis
千楼1 小时前
阿里巴巴Java开发手册(1.3.0)
java·代码规范