叫用交易

叫用交易的用途是叫用目標節點上的一或多個叢集指令。這類似於對叢集中定義的指令發出遠端程序呼叫。

叫用交易的方式與寫入交易類似,都支援計時交易和未計時交易。如要進一步瞭解計時交易,請參閱「計時與不計的動作」一節。

叫用交易未計時

未計時叫用交易的作業序列
圖 1:無時間叫用交易

叫用要求動作

方向:發起人 -> 目標

與「讀取要求動作」和「寫入要求動作」類似,發起者在這個動作中可為目標提供以下項目:

  • 叫用要求:叢集指令的路徑清單,以及指令的選用引數,名稱為指令欄位
  • 定時要求:指出此動作是否屬於計時叫用交易的標記。
  • 抑制回應:指示是否應抑制叫用回應動作的旗標。
  • 互動 ID:將叫用要求動作與叫用回應動作配對的整數。

叫用回應動作

方向:目標 -> 發起人

目標收到叫用要求動作後,就會透過叫用回應動作完成交易:

  • 叫用回應:所傳送每個叫用要求的指令回應或狀態清單。
  • 互動 ID:這個整數可用來將叫用回應動作與叫用要求動作進行比對。

不計時叫用限制

叫用要求動作可能是 groupcast,但必須設定 Suppress Response 旗標。原因在於,否則網路可能會被群組中每位成員同時的回應淹沒。

如要啟用這項行為,叫用要求清單中使用的路徑可能會包含群組,而群組也可能包含萬用字元,但只會出現在「端點」欄位。此外,如果動作是 groupcast,則交易會在沒有回應的情況下終止。

定時叫用交易

與計時寫入交易類似,定時叫用交易也會從計時要求動作開始。

定時叫用交易的作業序列
圖 2:計時叫用交易

計時要求動作

方向:發起人 -> 目標

發起人開始傳送這項動作的交易項目,包括:

  • 逾時:這項交易可能保持開啟的毫秒數。在這段期間內,發起人傳送的後續動作將視為有效。

收到計時要求動作後,目標就必須透過狀態回應動作確認定時要求動作。發起人收到狀態回應動作回報沒有任何錯誤後,就會傳送叫用要求動作。

叫用要求動作

與前文「叫用要求動作」相同。

叫用回應動作

與前文所述的叫用回應動作相同。

計時叫用限制

所有叫用指令都可在計時互動中呼叫。「定時要求」動作、叫用要求動作和叫用回應動作只有 Unicast 權限,因此無法在定時叫用交易中做為群組側錄。

「叫用要求動作」支援使用群組的路徑以及萬用字元,但「叫用回應動作」不支援萬用字元使用。