当前位置: 首页 > article >正文

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

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

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

AutoCompose核心特点是:

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

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

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

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

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

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

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

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

AutoCompose 简单介绍

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

  • 编排结果的存储
  • 编排关系DAG的构建
  • 编排实现方式

开源地址

http://www.lryc.cn/news/2398933.html

相关文章:

  • mybatis和hibernate区别
  • ORACLE 缺失 OracleDBConsoleorcl服务导致https://xxx:port/em 不能访问
  • unix/linux source 命令,其历史争议、兼容性、生态、未来展望
  • day42 简单CNN
  • VScode自动添加指定内容
  • Ubuntu 22.04 安装 Nacos 记录
  • 终极陷阱:Java序列化漏洞的内爆原理与防御体系重建
  • Git 中移除已追踪的文件
  • 相机--RGBD相机
  • Flask中secret_key设置解析
  • 事件不触发、交互失效?基于 WebDebugX 的移动端事件调试实战总结
  • 记一次idea中lombok无法使用的解决方案
  • 【Redis】笔记|第7节|大厂生产级Redis高并发分布式锁实战(二)
  • WebRTC中sdp多媒体会话协议报文详细解读
  • 贪心算法应用:硬币找零问题详解
  • 深入理解 x86 汇编中的重复前缀:REP、REPZ/REPE、REPNZ/REPNE(进阶详解版)
  • 计算机网络全维度解析:架构协议、关键设备、安全机制与新兴技术深度融合
  • Docker 在 AI 开发中的实践:GPU 支持与深度学习环境的容器化
  • 学习NuxtLink标签
  • 基于PostGIS的GeoTools执行原生SQL查询制图实践-以贵州省行政区划及地级市驻地为例
  • MySQL字段类型完全指南:选型策略与实战应用
  • NLP实战(5):基于LSTM的电影评论情感分析模型研究
  • DHCP应用
  • 基于MATLAB的FTN调制和硬判决的实现
  • 涂装协作机器人:重新定义涂装工艺的智能化未来
  • c++面向对象第4天---拷贝构造函数与深复制
  • Windows版PostgreSQL 安装 vector 扩展
  • KINGCMS被入侵
  • 完美解决在pycharm中创建Django项目安装mysqlclient报错的问题(windows下)
  • 『React』组件副作用,useEffect讲解