叫用交易可用於在目標節點上叫用一或多個叢集指令。這類似於對叢集中定義的指令發出的遠端程序呼叫。
與寫入交易類似,叫用交易也支援計時和不計時交易。如要進一步瞭解時間限制交易,請參閱「有時間限制和無時間限制的動作」一節。
未計時的叫用交易
叫用要求動作
方向:啟動者 -> 目標
與「讀取要求」動作和「寫入要求」動作類似,在這個動作中,發起端會為目標提供:
- 叫用要求:叢集指令的路徑清單,以及指令的選用參數 (名稱為「指令欄位」)。
- 時間要求:標記,用於指出此動作是否屬於時間要求叫用交易。
- 抑制回應:標記,指出是否應抑制叫用回應動作。
- 互動 ID:用於將「叫用要求」動作與「叫用回應」動作配對的整數。
叫用回應動作
方向:目標 -> 發起者
目標接收 Invoke Request 動作後,會使用含有以下內容的 Invoke Response 動作完成交易:
- Invoke Responses:每個 Invoke 要求的命令回應或狀態清單。
- 互動 ID:用於將「叫用回應」動作與「叫用要求」動作配對的整數。
未定時的叫用限制
叫用要求動作可能是群組廣播,但在這種情況下,必須設定「Suppress Response」標記。原因是,如果不這樣做,網路可能會因為群組中每位成員同時回應而發生壅塞。
如要啟用這項行為,在「叫用要求」清單中使用的路徑可以包含群組,或者可以包含萬用字元,但僅限於「端點」欄位。此外,如果 Action 是群組廣播,則此交易會在沒有回應的情況下終止。
定時叫用交易
與時間限制寫入交易類似,時間限制叫用交易也會以時間限制要求動作開始。
時間要求動作
方向:啟動者 -> 目標
發起者會啟動交易,傳送這項動作,其中包含:
- 逾時:此交易可保持開放多久 (以毫秒為單位)。在此期間,系統會將發起者傳送的下一個動作視為有效。
收到時間限制要求動作後,目標必須透過狀態回應動作來確認時間限制要求動作。發起端收到沒有錯誤的狀態回應動作後,就會傳送叫用要求動作。
叫用要求動作
與先前所述的叫用要求動作相同。
叫用回應動作
與先前所述的叫用回應動作相同。
時間限制的叫用限制
所有叫用指令都可以在時間互動中呼叫。時間要求動作、叫用要求動作和叫用回應動作僅限 Unicast,因此無法在時間要求叫用交易中做為群組廣播。
叫用要求動作支援使用含有群組的路徑,以及萬用字元,但叫用回應動作不支援萬用字元的使用。