Transaktionen aufrufen

Aufruftransaktionen werden zum Aufrufen eines oder mehrerer Clusterbefehle auf einem Zielknoten verwendet. Dies ähnelt Remoteprozeduraufrufen, die an einen im Cluster definierten Befehl gesendet werden.

Ähnlich wie bei Schreibvorgängen unterstützen Invoke-Transaktionen zeitlich begrenzte und unzeitliche Transaktionen. Weitere Informationen zu zeitlich begrenzten Transaktionen finden Sie im Abschnitt Abgestimmte und unzeitliche Aktionen.

Nicht getaktete Aufruftransaktion

Sequenz der Vorgänge einer Transaktion ohne Zeitlimit
Abbildung 1: Untime Invoke-Transaktion

Anfrageaktion aufrufen

Richtung: Initiator -> Ziel

Ähnlich wie die Anfragen lesen und schreiben stellt der Initiator dem Ziel in dieser Aktion Folgendes zur Verfügung:

  • Aufrufanfragen: eine Liste von Pfaden zu Clusterbefehlen sowie optionale Argumente für die Befehle mit dem Namen Befehlsfelder.
  • Anfrage mit zeitlicher Festlegung: Ein Flag, das angibt, ob diese Aktion Teil einer Transaktion mit zeitlicher Festlegung ist.
  • Suppress Response: Ein Flag, das angibt, ob die Aufrufantwortaktion unterdrückt werden soll.
  • Interaction ID: Eine Ganzzahl, die zum Abgleich der Aufrufanfrageaktion mit der Aufrufantwortaktion verwendet wird.

Antwortaktion aufrufen

Richtung: Ziel -> Initiator

Nachdem das Ziel die Invoke-Anfrageaktion empfängt, wird die Transaktion mit einer Aufrufantwortaktion abgeschlossen, die Folgendes enthält:

  • Invoke Responses (Antworten aufrufen): Eine Liste von Befehlsantworten oder Status für jede gesendete Aufrufanfrage.
  • Interaction ID: eine Ganzzahl, die zum Abgleich der Invoke-Antwortaktion mit der Aufrufanfrageaktion verwendet wird.

Zeitlose Aufrufeinschränkungen

Die Anfrageaktion aufrufen kann ein Groupcast sein. In diesem Fall muss jedoch das Flag Antwort unterdrücken gesetzt sein. Der Grund dafür ist, dass das Netzwerk andernfalls durch gleichzeitige Antworten von jedem Mitglied einer Gruppe überflutet werden könnte.

Um dieses Verhalten zu aktivieren, kann der in der Liste „Anfragen aufrufen“ verwendete Pfad Gruppen oder Platzhalter enthalten sein. Dies gilt jedoch nur für das Feld „Endpunkt“. Wenn es sich bei der Aktion außerdem um Groupcast handelt, wird diese Transaktion ohne Antwort beendet.

Aufrufe mit zeitlicher Festlegung

Ähnlich wie Transaktionen mit zeitlicher Festlegung starten auch Transaktionen mit zeitlich festgelegten Aufrufen mit der Aktion für zeitlich festgelegte Anfragen.

Sequenz der Vorgänge einer zeitgesteuerten Invoke-Transaktion
Abbildung 2: Zeitgesteuerte Invoke-Transaktion

Zeitgesteuerte Anfrageaktion

Richtung: Initiator -> Ziel

Ein Initiator startet die Transaktion, die diese Aktion sendet, die Folgendes enthält:

  • Zeitlimit: die Anzahl der Millisekunden, die diese Transaktion offen bleiben darf. Während dieses Zeitraums gilt die nächste vom Initiator gesendete Aktion als gültig.

Nach dem Empfang der zeitgesteuerten Anfrageaktion muss das Ziel die zeitgesteuerte Anfrageaktion mit einer Statusantwortaktion bestätigen. Sobald der Initiator eine Statusantwortaktion empfängt, die keine Fehler meldet, sendet er eine Aufrufanfrageaktion.

Anfrageaktion aufrufen

Wie die zuvor beschriebene Anfrageaktion aufrufen.

Antwortaktion aufrufen

Wie die zuvor beschriebene Invoke Response Action.

Einschränkungen für Aufrufe mit zeitlicher Festlegung

Alle Aufrufbefehle können bei einer zeitlich festgelegten Interaktion aufgerufen werden. Die zeitgesteuerten Anfrageaktion, die Invoke Request-Aktion und die Invoke Response-Aktion sind nur Unicast und können daher nicht als Groupcast für Transaktionen mit zeitlich festgelegten Aufrufen verwendet werden.

Die Anfrageaktion „Aufrufen“ unterstützt die Verwendung von Pfaden mit Gruppen und Platzhaltern, aber die Aktion „Antwort aufrufen“ unterstützt die Verwendung von Platzhaltern nicht.