主要组件
Workflow
定义:工作流
工作流存于Cadence服务端,是客户端注册活动的实际执行主体
使用的工作流归属于应用组
Activity
定义:用于实现活动的函数
每个activity活动执行前都有一个DecisionTask动作
PollForDecisionTask -> maching -> StartDecisionTask -> return start -> return poll
DecisionTask返回来会包含已注册的查询串
Client
定义:用于创建托管工作流和活动代码的工作实例的函数
工作流的客户端,实质是真实工作的服务实体,每个服务中可以启动多个Worker(worker.start())
Worker
定义:用于创建托管工作流和活动代码的工作实例的函数
每个服务中可以启动多个Worker(worker.start())
Worker service包含两种
Decision Worker: 本质上就是 workflow func,完全靠 decision task 驱动,decision 由 cadence 生成
Activity Worker: 靠 activity task 驱动,activity task 由 decision worker 生成
ChildWorkflow
定义:子工作流
可以拆分多个分支的大任务可以通过子工作流进行并发执行加速,父工作流需等待子工作流完成执行后才能进行执行下一步活动
Activity HeartBeating
定义:活动检查信号
用于检查activity执行情况,类似心跳包
Durable Timers
定义:计时器
支持工作流中task的延迟执行
Signals
定义:信号
可用于将其他数据直接推送到工作流中,方便修改/影响正在运行的工作流,是一种可以方便直接在工作流中使用外部事件的机制