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助手支持播客生成、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工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多