cadence

cadence

功能强大的开源分布式工作流平台

Cadence是一个开源的分布式工作流平台,为微服务架构提供可靠的解决方案。该平台支持Go、Java等多种编程语言,并配备CLI和Web UI等实用工具。Cadence专注于长时间运行和容错的业务流程,有效简化了复杂分布式系统的开发难度。

Cadence工作流系统微服务架构开源项目分布式系统Github

Cadence

构建状态 覆盖率 Slack 状态

Github 发布 许可证

GitHub 星标 GitHub 分支

本仓库包含 Cadence 服务器和其他工具(包括 CLI、架构工具、基准测试和监控)的源代码。

您可以使用我们的客户端库之一来实现您的工作流程。 GoJava 库由 Cadence 团队官方维护, 而 PythonRuby 客户端库则由社区开发。

您还可以使用 iWF 作为 Cadence 之上的 DSL 框架。

请观看 Maxim 在 Data@Scale 大会 上的演讲,了解 Cadence 的架构概览。

访问 cadenceworkflow.io 以了解更多关于 Cadence 的信息。加入我们的 Cadence 文档 项目。欢迎在那里提出问题或提交拉取请求。

社区

入门

启动 cadence-server

要在本地运行 Cadence 服务,我们强烈建议您使用 Cadence 服务 docker 来运行服务。 您也可以按照 说明 来构建和运行它。

请访问我们的 文档 网站,了解生产/集群设置。

运行示例

尝试 GoJava 的示例教程以开始使用。

使用 Cadence CLI

Cadence CLI 可用于操作工作流、任务列表、域甚至集群。

您可以通过以下方式安装 Cadence CLI:

  • 使用 brew 安装 CLI:brew install cadence-workflow
    • 如果您需要通过 homebrew 安装旧版本的 CLI,请按照 说明 进行操作。通常只有在运行非常旧版本的服务器时才需要这样做。
  • 使用 docker 镜像运行 CLI:docker run --rm ubercadence/cli:<releaseVersion>docker run --rm ubercadence/cli:master。当您想尝试新功能时,请务必更新您的镜像:docker pull ubercadence/cli:master
  • 自行构建 CLI 二进制文件,检出仓库并运行 make cadence 以构建所有工具。有关 make 命令的先决条件,请参阅 CONTRIBUTING
  • 自行构建 CLI 镜像,请参阅 说明

Cadence CLI 是一个强大的工具。命令按 标签 组织。例如,workflow->batch->start,或 admin->workflow->describe

请阅读 文档,并始终在任何标签上尝试 --help 以学习和探索。

使用 Cadence Web

尝试使用 Cadence Web UI 来查看您在 Cadence 上的工作流。 (如果您使用 docker compose 运行 Cadence,这已经在 localhost:8088 上可用)

贡献

我们很乐意您帮助我们使 Cadence 变得更好。请查看我们的 贡献指南

如果您想提出新功能,请先加入 Slack 频道 开始讨论,并检查是否有现有的设计讨论。同时浏览我们的 设计文档,以防某个功能已经设计但尚未实现。一旦您确定提案没有在其他地方涉及,请按照我们的 提案说明 进行操作。

此仓库中的其他二进制文件

基准/压力测试工作流工具

请参阅 基准文档

定期功能健康检查工作流工具(又称 Canary)

请参阅 canary 文档

SQL 和 Cassandra 的架构工具

这些工具用于 手动设置或升级数据库架构

获取架构工具的最简单方法是通过 homebrew。

brew install cadence-workflow 也包括 cadence-sql-toolcadence-cassandra-tool

  • 架构文件位于 /usr/local/etc/cadence/schema/
  • 要升级,请确保先删除旧的 ElasticSearch 架构:mv /usr/local/etc/cadence/schema/elasticsearch /usr/local/etc/cadence/schema/elasticsearch.old && brew upgrade cadence-workflow。否则,ElasticSearch 架构可能无法更新。
  • 如果您需要通过 homebrew 安装旧版本的架构工具,请按照 说明 进行操作。 然而,更简单的方法是使用新版本的架构工具和旧版本的架构。 您只需要从此仓库检出旧版本的架构。运行 git checkout v0.21.3 以获取 v0.21.3 版本的架构,这些架构位于 架构文件夹 中。

随时间变化的星标数

随时间变化的星标数

许可证

MIT 许可证,详情请参阅 LICENSE

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多