Apache DolphinScheduler 3.3.0:工作流编排与管理的新飞跃

作者:问答酱2024.08.16 19:33浏览量:90

简介:Apache DolphinScheduler 3.3.0版本发布,带来了一系列重要更新,包括新的任务插件接口、容错改进、参数优先级统一等,显著提升了系统的稳定性、扩展性和易用性。

Apache DolphinScheduler 3.3.0版本更新一览

Apache DolphinScheduler,作为一个开源的工作流编排和管理系统,自发布以来便受到了广泛的关注与应用。近日,Apache DolphinScheduler社区宣布了3.3.0版本的发布,该版本在多个方面进行了重要更新和优化,为用户带来了更加稳定、高效和易用的体验。

一、版本概述

Apache DolphinScheduler 3.3.0版本在保持原有架构和部署方式的基础上,进行了深入的功能扩展和性能优化。其主要目标是通过引入新的任务插件接口、改进容错机制、统一参数优先级等方式,提升系统的整体性能和易用性。

二、核心更新

1. 新的任务插件接口

在3.3.0版本中,DolphinScheduler引入了新的任务插件定义接口(V2版本),以解决旧版本中任务插件接口复杂、生命周期管理缺失等问题。新接口的设计更加清晰明了,提供了以下关键功能:

  • 生命周期管理:包括运行、暂停、杀死、容错、成功和失败状态的管理,确保任务插件实例能够更稳定地运行。
  • 上下文信息:增加了ITaskApplicationContext,用于表示任务插件实例运行的上下文信息,如processIdapplicationId等。
  • 监听器管理:通过ITaskListenerManager,可以注册用于侦听任务插件实例信息更改的监听器,便于对任务执行流程进行扩展。

2. 容错改进

DolphinScheduler 3.3.0版本在容错机制上进行了重大改进,具体包括:

  • Master容错:对下线的Master节点持有的工作流程进行容错处理,插入工作流容错命令,确保工作流能够从Worker服务器接管正在运行的任务。
  • Worker容错:处理下线的Worker节点运行的任务,将容错任务分发给新的Worker节点,支持精确一次(exactly-once)、至少一次(at-least-once)、至多一次(at-most-once)的容错行为。

3. 参数优先级统一

在旧版本中,DolphinScheduler中存在多重参数类型,且没有统一的优先级,导致运行时参数无法灵活更改。3.3.0版本统一了参数优先级,遵循就近原则(启动参数 > 任务定义参数 > 工作流定义参数),解决了参数优先级不一致以及某些参数无法在运行时更改的问题。

4. 工作流触发解耦

新版本对工作流触发机制进行了解耦,并引入了消息中间件(如Kafka)来支持工作流触发。这一改进使得工作流触发不再局限于关系型数据库,提高了系统的可扩展性和灵活性。

5. 事件线程池优化

DolphinScheduler Master中原有的两个事件线程池被合并为一个,工作流中的所有事件按FIFO顺序在事件队列中处理。这一优化解决了线程池难以协调、事件顺序可能丢失等问题,并提供了更多的事件指标和查询接口,便于监控和管理工作流事件。

6. 多集群支持

在3.3.0版本中,DolphinScheduler支持在元数据存储中进行Hadoop/S3集群配置,允许在运行时添加新集群,并支持不同任务使用不同的集群。这一功能极大地提升了系统的灵活性和可扩展性。

7. AlertServer改进

AlertServer通过HA实现了高可用,但旧版本中使用单线程发送警报。新版本中,AlertServer被允许嵌入API服务器,并采用多线程模型发送警报,显著提高了警报发送的效率。

三、实际应用与经验

Apache DolphinScheduler 3.3.0版本的这些更新和优化,将为用户带来更加稳定、高效和易用的工作流编排和管理体验。在实际应用中,用户可以根据自身需求选择合适的任务插件和容错策略,通过统一的参数优先级和灵活的工作流触发机制,实现复杂工作流的自动化编排和管理。

四、总结

Apache DolphinScheduler 3.3.0版本的发布,标志着该系统在工作流编排和管理领域又迈出了坚实的一步。通过引入新的任务插件接口、改进容错机制、统一参数优先级等一系列重要更新和优化,DolphinScheduler不仅提升了系统的整体性能和稳定性,还增强了其易用性和可扩展性。相信在未来的发展中,DolphinScheduler将继续为用户带来更多惊喜和便利。


本文旨在为读者提供关于Apache DolphinScheduler