叫用交易

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

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

未計時的叫用交易

未定時的叫用交易作業順序
圖 1:未計時的叫用交易

叫用要求動作

方向:啟動者 -> 目標

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

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

叫用回應動作

方向:目標 -> 發起者

目標接收 Invoke Request 動作後,會使用含有以下內容的 Invoke Response 動作完成交易:

  • Invoke Responses:每個 Invoke 要求的命令回應或狀態清單。
  • 互動 ID:用於將「叫用回應」動作與「叫用要求」動作配對的整數。

未定時的叫用限制

叫用要求動作可能是群組廣播,但在這種情況下,必須設定「Suppress Response」標記。原因是,如果不這樣做,網路可能會因為群組中每位成員同時回應而發生壅塞。

如要啟用這項行為,在「叫用要求」清單中使用的路徑可以包含群組,或者可以包含萬用字元,但僅限於「端點」欄位。此外,如果 Action 是群組廣播,則此交易會在沒有回應的情況下終止。

定時叫用交易

與時間限制寫入交易類似,時間限制叫用交易也會以時間限制要求動作開始。

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

時間要求動作

方向:啟動者 -> 目標

發起者會啟動交易,傳送這項動作,其中包含:

  • 逾時:此交易可保持開放多久 (以毫秒為單位)。在此期間,系統會將發起者傳送的下一個動作視為有效。

收到時間限制要求動作後,目標必須透過狀態回應動作來確認時間限制要求動作。發起端收到沒有錯誤的狀態回應動作後,就會傳送叫用要求動作。

叫用要求動作

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

叫用回應動作

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

時間限制的叫用限制

所有叫用指令都可以在時間互動中呼叫。時間要求動作、叫用要求動作和叫用回應動作僅限 Unicast,因此無法在時間要求叫用交易中做為群組廣播。

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