主要組件
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
定義:信號
可用于將其他數據直接推送到工作流中,方便修改/影響正在運行的工作流,是一種可以方便直接在工作流中使用外部事件的機制