AutoCompose - 携程自动编排【开源】
AutoCompose - 携程自动编排【开源】
AutoCompose
是一款单事件驱动(无状态)的流程引擎。使用本框架,能够轻松实现复杂服务的自动化编排【零配置、零编码】,能够显著提高开发维护效率。支持同步编程、异步编程(已支持CompletableFuture、Reactor、ListenableFuture
)。
AutoCompose
核心特点是:
- 通过解析代码的方式(零配置:不需要配置维护编排规则文件),
- 自动得(零编码)获取业务流程模型,
- 自动得(零编码)按照模型将组件(以最优并发策略)组合执行。
一切都是自动的(显著减少开发维护工作量),这也是本框架命名为自动编排的初衷。
和开源框架LiteFlow框架有什么区别?
两款框架都是解决复杂服务开发的单事件驱动(无状态)的流程引擎。
LiteFlow
的作者认为它是规则引擎,虽然有这种说法上的差异,但实际上,两者的功能、解决的问题是一样的。
AutoCompose
追求简化开发提升效率,LiteFlow
倾向于更灵活的的编排能力。
AutoCompose | LiteFlow | |
---|---|---|
学习成本 | 低(熟悉几个接口与API) | 高(组件接口类型多,还要学习其EL表达式写法) |
使用成本 | 低(省去编排代码开发,自动组件数据传递,显著降低开发维护工作量) | 高(需要额外开发维护编排文件,需要硬编码数据传递) |
编排灵活性 | 低(只支持串行编排、并行编排) | 高(支持非常丰富灵活的编排能力) |
异步编程 | 支持(显著简化异步编程,降低门槛,提高开发效率) | 不支持 |
代码可读性 | 高(逻辑都在代码里) | 低(必须结合代码与编排文件,才能确定实际执行逻辑) |
逻辑可视化 | 高(可生成业务流程图) | 中(可阅读编排文件) |
如果你想知道AutoComposable
的简单使用,可以看:
AutoCompose 简单介绍
如果你想了解其中的具体细节,AutoCompose
的实现核心主要依赖这几个方面:
- 编排结果的存储
- 编排关系DAG的构建
- 编排实现方式
开源地址