Appeler des transactions

Les transactions d'appel permettent d'appeler une ou plusieurs commandes de cluster sur un nœud cible. Elles sont semblables aux appels de procédure à distance effectués sur une commande définie dans le cluster.

Comme les transactions d'écriture, les transactions d'appel sont compatibles avec les transactions temporisées et non temporisées. Pour en savoir plus sur les transactions temporisées, consultez la section Actions temporisées et non temporisées.

Transaction d'appel non temporisée

Séquence d'opérations d'une transaction d'appel non temporisée
Figure 1 : Transaction d'appel non temporisée

Action de requête d'appel

Direction : Initiateur -> Cible

Comme dans l'action de requête de lecture et l'action de requête d'écriture, l'initiateur fournit à la cible les éléments suivants :

  • Requêtes d'appel : liste des chemins d'accès aux commandes de cluster, ainsi que des arguments facultatifs des commandes, nommés Champs de commande.
  • Requête temporisée : indicateur indiquant si cette action fait partie d'une transaction d'appel temporisée.
  • Supprimer la réponse : indicateur indiquant si l'action de réponse d'appel doit être supprimée.
  • ID d'interaction : entier utilisé pour faire correspondre l'action de requête d'appel à l'action de réponse d'appel.

Action de réponse d'appel

Direction : Cible -> Initiateur

Une fois que la cible reçoit l'action de requête d'appel, elle finalise la transaction avec une action de réponse d'appel qui contient les éléments suivants :

  • Réponses d'appel : liste des réponses de commande ou de l'état de chaque requête d'appel envoyée.
  • ID d'interaction : entier utilisé pour faire correspondre l'action de réponse d'appel à l'action de requête d'appel.

Restrictions d'appel non temporisé

L'action de requête d'appel peut être une diffusion de groupe, mais dans ce cas, l'indicateur Supprimer la réponse doit être défini. En effet, le réseau pourrait être inondé de réponses simultanées de chaque membre d'un groupe.

Pour activer ce comportement, le chemin d'accès utilisé dans la liste des requêtes d'appel peut contenir des groupes ou des caractères génériques, mais uniquement dans le champ "Point de terminaison". De plus, si l'action est une diffusion de groupe, cette transaction se termine sans réponse.

Transactions d'appel temporisées

Comme les transactions d'écriture temporisées, les transactions d'appel temporisées commencent également par l'action de requête temporisée.

Séquence d'opérations d'une transaction d'appel temporisé
Figure 2 : Transaction d'appel temporisée

Action de requête temporisée

Direction : Initiateur -> Cible

Un initiateur démarre la transaction en envoyant cette action qui contient les éléments suivants :

  • Délai d'inactivité : nombre de millisecondes pendant lesquelles cette transaction peut rester ouverte. Pendant cette période, l'action suivante envoyée par l'initiateur sera considérée comme valide.

Une fois l'action de requête temporisée reçue, la cible doit accuser réception de l'action de requête temporisée avec une action de réponse d'état. Une fois que l'initiateur reçoit une action de réponse d'état ne signalant aucune erreur, il envoie une action de requête d'appel.

Action de requête d'appel

Identique à l'action de requête d'appel décrite précédemment.

Action de réponse d'appel

Identique à l'action de réponse d'appel décrite précédemment.

Restrictions d'appel temporisé

Toutes les commandes d'appel peuvent être appelées sur une interaction temporisée. L'action de requête temporisée, l'action de requête d'appel et l'action de réponse d'appel sont Unicast-uniquement et ne peuvent donc pas être utilisées comme diffusion de groupe sur les transactions d'appel temporisées.

L'action de requête d'appel est compatible avec l'utilisation de chemins d'accès avec des groupes, ainsi que des caractères génériques, mais l'action de réponse d'appel n'est pas compatible avec l'utilisation de caractères génériques.