叫用交易

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

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

未計時叫用交易

非限時叫用交易的操作順序
圖 1:未計時叫用交易

叫用要求動作

方向:發起者 -> 目標

與讀取要求動作和寫入要求動作類似,發起端會在這個動作中提供目標:

  • 叫用要求:叢集指令的路徑清單,以及指令的選用引數,稱為指令欄位。
  • Timed Request:這個旗標指出這項動作是否為 Timed Invoke Transaction 的一部分。
  • Suppress Response:指出是否應抑制叫用回應動作的標記。
  • 互動 ID:用於比對叫用要求動作和叫用回應動作的整數。

叫用回覆動作

方向:目標 -> 發起者

目標收到叫用要求動作後,會使用叫用回應動作完成交易,其中包含:

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

不限時叫用限制

叫用要求動作可能是群組播送,但在此情況下,必須設定「Suppress Response」旗標。這是因為如果群組中的每個成員同時回應,網路可能會不堪負荷。

如要啟用這項行為,叫用要求清單中使用的路徑可以包含群組,也可以包含萬用字元,但只能在端點欄位中。此外,如果動作是群組播送,這項交易會終止,不會傳送回應。

定時叫用交易

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

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

定時要求動作

方向:發起者 -> 目標

發起者會傳送包含下列內容的動作,啟動交易:

  • Timeout:這筆交易可保持開啟狀態的時間 (以毫秒為單位)。在這段期間內,發起端傳送的下一個動作會視為有效。

收到限時要求動作後,目標必須以狀態回應動作確認限時要求動作。啟動器收到狀態回應動作,且未回報任何錯誤後,就會傳送叫用要求動作。

叫用要求動作

與先前所述的叫用要求動作相同。

叫用回覆動作

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

定時叫用限制

所有叫用指令都可以在計時互動上呼叫。「Timed Request Action」、「Invoke Request Action」和「Invoke Response Action」僅限 Unicast,因此無法做為「Timed Invoke Transactions」的群組播送。

叫用要求動作支援使用群組路徑和萬用字元,但叫用回應動作不支援使用萬用字元。