Cadence 分布式任务编排和调度引擎开源项目

我要开发同款
匿名用户2019年05月12日
118阅读
开发技术GO语言
所属分类Google Go、作业/任务调度、程序开发
授权协议MIT

作品详情

Cadence是Uber开发的一个分布式,可扩展,持久且高度可用的编排引擎,以可扩展和弹性的方式执行异步长期运行的业务逻辑。

业务逻辑被建模为工作流和活动。工作流程是协调逻辑的实现。其唯一目的是协调活动执行。活动是业务逻辑中特定任务的实现。工作流和活动实现在工作进程中托管和执行。这些工作人员长期轮询Cadence服务器以执行任务,通过调用工作流或活动实现来执行任务,并将任务结果返回给Cadence服务器。此外,工作人员可以实现为完全无状态的服务,这反过来允许无限制的水平扩展。

Cadence服务器代理并持久保存在工作流执行期间生成的任务和事件,这为工作流执行提供了某些可伸缩性和可靠性保证。单个活动执行不具有容错能力,因为它可能由于各种原因而失败。但是,确定在哪种顺序以及如何(位置,输入参数,超时等)活动被执行的工作流程保证在各种故障条件下继续执行。

安装和运行:

#forOSXbrewinstallcassandra#startcassandra/usr/local/bin/cassandra安装cassandra模型:makeinstall-schema启动服务./cadence-serverstart

Cadence还提供一个基于Web的管理界面 https://github.com/uber/cadence-web

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论