searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Cadence工作流引擎简介

2023-09-21 02:21:47
103
0

Cadence简介

Cadence是Uber开源的一个分布式、可扩展、持久化且高可用的编排工作流引擎,支持grpc API服务功能调用,提供了go和java sdk

便于统一管理多租户的持久化业务系统服务

 

框架

Cadence框架主要由两部分构成,一个是Cadence服务,一个是worker客户端

 

服务端

  • Frontend service

    相当于网关,使用自己实现的TChannel协议和其他角色通信

  • History service

    负责 workflow 状态变迁

  • Matching service

    托管 tasklist 进行 task scheduling, dispatching

  • Worker service处理worker请求

客户端

  • Workflow Workers

    注册到具体工作流,

  • Activity Workers

    注册具体的执行活动,

  • Business Services

    相当于网关,使用自己实现的TChannel协议和其他角色通信

  • Cadence CLI

    集成了Cadence所有函数库,支持客户端直接调用

 

 

运行模式

Cadence服务实例可使用官方提供的docker-compose进行配置和部署,依赖于promethues监控组件和cassandra分布式数据库

在客户侧注册了cadence worker,在每次客户端执行activity前,worker都会进行一个PollForDecisionTask的操作,到service前端寻找匹配的空闲工作流,进行预占,然后返回可用的工作流信息,保证activity正常执行

 

优缺点

优势

在于集成了丰富的基础组件能力,提供了全套包括可视化能力,官方支持go java sdk,适用于复杂的分布式系统统一工作流管理

缺点

体量较大,依赖项较多,依赖于promethues监控组件和cassandra分布式数据库,不太适合单一服务使用

 

0条评论
0 / 1000
docker整点薯条
4文章数
0粉丝数
docker整点薯条
4 文章 | 0 粉丝
docker整点薯条
4文章数
0粉丝数
docker整点薯条
4 文章 | 0 粉丝
原创

Cadence工作流引擎简介

2023-09-21 02:21:47
103
0

Cadence简介

Cadence是Uber开源的一个分布式、可扩展、持久化且高可用的编排工作流引擎,支持grpc API服务功能调用,提供了go和java sdk

便于统一管理多租户的持久化业务系统服务

 

框架

Cadence框架主要由两部分构成,一个是Cadence服务,一个是worker客户端

 

服务端

  • Frontend service

    相当于网关,使用自己实现的TChannel协议和其他角色通信

  • History service

    负责 workflow 状态变迁

  • Matching service

    托管 tasklist 进行 task scheduling, dispatching

  • Worker service处理worker请求

客户端

  • Workflow Workers

    注册到具体工作流,

  • Activity Workers

    注册具体的执行活动,

  • Business Services

    相当于网关,使用自己实现的TChannel协议和其他角色通信

  • Cadence CLI

    集成了Cadence所有函数库,支持客户端直接调用

 

 

运行模式

Cadence服务实例可使用官方提供的docker-compose进行配置和部署,依赖于promethues监控组件和cassandra分布式数据库

在客户侧注册了cadence worker,在每次客户端执行activity前,worker都会进行一个PollForDecisionTask的操作,到service前端寻找匹配的空闲工作流,进行预占,然后返回可用的工作流信息,保证activity正常执行

 

优缺点

优势

在于集成了丰富的基础组件能力,提供了全套包括可视化能力,官方支持go java sdk,适用于复杂的分布式系统统一工作流管理

缺点

体量较大,依赖项较多,依赖于promethues监控组件和cassandra分布式数据库,不太适合单一服务使用

 

文章来自个人专栏
工作流
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0