Rill Flow 简介
Rill Flow 是一个高性能、可扩展的分布式工作流编排服务,具有以下核心特性:
- 高性能:支持每天执行数千万个任务,任务执行延迟小于100ms
- 分布式:支持异构分布式系统的编排和调度
- 易用性:支持可视化流程编排和插件接入
- 云原生:支持云原生容器部署和云原生函数编排
- AIGC:支持快速集成 LLM 模型服务
官方资源
快速开始
-
准备环境:
- OSX/Linux 环境
- 安装 Docker
- 安装 Docker-Compose
-
下载源码:
git clone https://github.com/weibocom/rill-flow.git
-
启动服务:
cd rill-flow/docker docker-compose up -d
-
访问管理后台: http://localhost (账号:admin/admin)
核心概念
Rill Flow 的核心概念包括:
- 工作流(Flow):由多个任务组成的有向无环图
- 任务(Task):工作流中的最小执行单元
- 执行器(Executor):负责执行具体任务的组件
开发者需要了解这些概念才能更好地使用 Rill Flow。
示例教程
以下是一个简单的 Rill Flow 使用示例:
- 在管理后台创建工作流定义
- 导入以下 YAML 配置:
version: 1.0.0
workspace: rillFlowSimple
dagName: greet
alias: release
type: flow
inputSchema: >-
[{"required":true,"name":"Bob","type":"String"},{"required":true,"name":"Alice","type":"String"}]
tasks:
- category: function
name: Bob
resourceName: http://sample-executor:8000/greet.json?user=Bob
pattern: task_sync
tolerance: false
next: Alice
inputMappings:
- source: "$.context.Bob"
target: "$.input.Bob"
- category: function
name: Alice
resourceName: http://sample-executor:8000/greet.json?user=Alice
pattern: task_sync
tolerance: false
inputMappings:
- source: "$.context.Alice"
target: "$.input.Alice"
- 提交工作流并执行任务
- 在执行记录中查看结果
进阶主题
- 高级功能:条件分支、循环等
- 性能优化:如何提升工作流执行效率
- 扩展开发:自定义执行器和插件
社区资源
- GitHub Issues - 问题反馈
- GitHub Discussions - 社区讨论
贡献指南
欢迎为 Rill Flow 贡献代码!请查看贡献者列表了解更多信息。
Rill Flow 是一个强大而灵活的工作流编排引擎,希望这份学习资料汇总能帮助你快速上手并深入使用。如果有任何问题,欢迎在社区中交流讨论! 🚀