並行¶
並行 CRD 提供了一種簡單的方式來定義分支列表,每個分支接收傳送到並行輸入通道的相同 CloudEvent。通常,每個分支都包含一個篩選函數,用於保護分支的執行。
並行在底層建立 Channel
和 Subscription
。
使用方式¶
並行規格¶
並行的規格有三個部分
branches
定義filter
和subscriber
配對的列表,每個分支一個,並且可選擇性地使用reply
物件。對於每個分支- (選用)評估
filter
,當它返回事件時,執行subscriber
。filter
和subscriber
都必須是Addressable
。 subscriber
返回的事件會傳送到分支的reply
物件。當reply
為空時,事件會傳送到spec.reply
物件。- (選用)
channelTemplate
定義用於建立Channel
的模板。 - (選用)
reply
定義當分支沒有自己的reply
物件時,每個分支的結果要傳送到哪裡。
並行狀態¶
並行的狀態有三個部分
conditions
詳細說明並行物件的整體狀態ingressChannelStatus
和branchesStatuses
傳達作為此並行一部分建立的底層Channel
和Subscription
資源的狀態。address
公開,以便可以在可以使用 Addressable 的地方使用並行。傳送到此位址會將目標指向此並行前面的Channel
(與ingressChannelStatus
相同)。
範例¶
請按照程式碼範例了解如何使用並行。