Kestra 是一个基于 Java 构建的事件驱动的编排和调度平台,它利用 YAML 进行工作流定义(您可以将其视为工作流的 Terraform)。
Kestra 可以简化计划和事件驱动的工作流程。通过将基础设施即代码最佳实践引入数据、流程和微服务编排,您可以构建可靠的工作流程并充满信心地管理它们。
只需几行代码,您就可以直接从 UI创建流程。借助用于定义编排逻辑的声明式 YAML 接口,业务涉众可以参与工作流创建过程。
大多数编排器都是用 Python 编写的,但我们选择 Java 是因为它的高性能和强大的生态系统来创建高可用和容错的编排器。该架构采用微服务方法专为大型部署而设计,其中每个组件都可以独立部署和扩展。对于小型部署,可以使用独立模式。
Kestra 的通信是异步的并且基于排队机制。
它利用 Micronaut 框架并提供两个运行器:
该平台是完全可扩展的并且基于插件,为各种工作流任务、触发器和数据存储选项提供了丰富的插件集。
关键概念
Inputs允许您将运行时特定的变量传递给流程。它们是强类型的,并允许附加验证规则。
Kestra 中的大多数任务都可以作为插件使用,但核心库中提供了许多类型的任务,包括支持各种编程语言(例如 Python、Node、Bash)的 ao 脚本任务以及编排打包到 Docker 容器中的业务逻辑的能力图片。
丰富的编排能力
Kestra 提供了各种任务来处理简单和复杂的业务逻辑,包括:
可以直接从 UI 编写工作流程。编写工作流程时,UI 提供: