Invocar transacciones

Las transacciones de invocación se usan para invocar uno o más comandos de clúster en un nodo de destino. Es similar a las llamadas de procedimientos remotos que se realizan a un comando definido en el clúster.

De manera similar a las transacciones de escritura, las transacciones de invocación admiten transacciones cronometradas y no cronometradas. Consulta la sección Acciones cronometradas y no cronometradas para obtener más información sobre las transacciones cronometradas.

Transacción de invocación no cronometrada

Secuencia de operaciones de una transacción de invocación sin sincronización
Figura 1: Transacción de invocación no cronometrada

Acción de solicitud de invocación

Dirección: Iniciador -> Destino

Al igual que la acción de solicitud de lectura y la acción de solicitud de escritura, en esta acción, el iniciador proporciona al destino lo siguiente:

  • Solicitudes de invocación: Una lista de rutas de acceso a los comandos de clúster, así como argumentos opcionales para los comandos, denominados campos de comando.
  • Solicitud cronometrada: Una marca que indica si esta acción forma parte de una transacción de invocación cronometrada.
  • Suprimir respuesta: Una marca que indica si se debe suprimir la acción de respuesta de invocación.
  • ID de interacción: Un número entero que se usa para hacer coincidir la acción de solicitud de invocación con la acción de respuesta de invocación.

Acción de respuesta de invocación

Dirección: Destino -> Iniciador

Después de que el destino reciba la acción de solicitud de invocación, finalizará la transacción con una acción de respuesta de invocación que contenga lo siguiente:

  • Respuestas de invocación: Una lista de respuestas de comandos o estados para cada solicitud de invocación enviada.
  • ID de interacción: Un número entero que se usa para hacer coincidir la acción de respuesta de invocación con la acción de solicitud de invocación.

Restricciones de invocación no cronometradas

La acción de solicitud de invocación puede ser una transmisión grupal, pero, en este caso, se debe establecer la marca Suprimir respuesta. El motivo es que, de lo contrario, la red podría verse inundada por respuestas simultáneas de cada miembro de un grupo.

Para habilitar este comportamiento, la ruta de acceso que se usa en la lista de solicitudes de invocación puede contener grupos y, de manera alternativa, puede contener comodines, pero solo en el campo de extremo. Además, si la acción es una transmisión grupal, esta transacción finaliza sin respuesta.

Transacciones de invocación cronometradas

Al igual que las transacciones de escritura cronometradas, las transacciones de invocación cronometradas también comienzan con la acción de solicitud cronometrada.

Secuencia de operaciones de una transacción de invocación cronometrada
Figura 2: Transacción de invocación cronometrada

Acción de solicitud cronometrada

Dirección: Iniciador -> Destino

Un iniciador comienza la transacción enviando esta acción que contiene lo siguiente:

  • Tiempo de espera: La cantidad de milisegundos que puede permanecer abierta esta transacción. Durante este período, se considerará válida la siguiente acción que envíe el iniciador.

Una vez que se recibe la acción de solicitud cronometrada, el destino debe confirmar la acción de solicitud cronometrada con una acción de respuesta de estado. Una vez que el iniciador reciba una acción de respuesta de estado que no informe errores, enviará una acción de solicitud de invocación.

Acción de solicitud de invocación

Es la misma que la acción de solicitud de invocación descrita anteriormente.

Acción de respuesta de invocación

Es la misma que la acción de respuesta de invocación descrita anteriormente.

Restricciones de invocación cronometradas

Se puede llamar a todos los comandos de invocación en una interacción cronometrada. La acción de solicitud cronometrada , la acción de solicitud de invocación y la acción de respuesta de invocación son Unicast-only y, por lo tanto, no se pueden usar como transmisión grupal en transacciones de invocación cronometradas.

La acción de solicitud de invocación admite el uso de rutas de acceso con grupos, así como comodines, pero la acción de respuesta de invocación no admite el uso de comodines.