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 procedimiento remoto realizadas a un comando definido en el clúster.

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

Transacción de invocación sin tiempo

Secuencia de operaciones de una transacción de invocación sin tiempo
Figura 1: Transacción de invocación sin tiempo

Invoca la acción de solicitud

Dirección: Iniciador -> Destino

Al igual que en 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: Es una lista de rutas de acceso a los comandos de clúster, así como argumentos opcionales para los comandos, llamados Campos de comando.
  • Solicitud con tiempo de espera: Es una marca que indica si esta acción forma parte de una transacción de invocación con tiempo de espera.
  • Suppress Response: Es una marca que indica si se debe suprimir la acción de respuesta de invocación.
  • ID de interacción: Es 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.

Invoca la acción de respuesta

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 incluye lo siguiente:

  • Invoke Responses: Es una lista de respuestas de comandos o estados para cada solicitud de invocación enviada.
  • ID de interacción: Es 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 sin tiempo

La acción de solicitud de invocación puede ser una transmisión grupal, pero, en este caso, se debe establecer la marca Suppress Response. La lógica es que, de lo contrario, la red podría inundarse con respuestas simultáneas de todos los miembros 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 forma alternativa, puede contener comodines, pero solo en el campo Endpoint. Además, si la acción es de transmisión grupal, esta transacción finaliza sin respuesta.

Transacciones de invocación con tiempo de espera

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

Secuencia de operaciones de una transacción de invocación con tiempo de espera
Figura 2: Transacción de invocación programada

Acción de solicitud con tiempo de espera

Dirección: Iniciador -> Destino

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

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

Una vez que se recibe la acción de solicitud con tiempo, el destino debe confirmar la acción de solicitud con tiempo 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.

Invoca la acción de solicitud

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

Invoca la acción de respuesta

Es igual que la acción de invocación de respuesta que se describió anteriormente.

Restricciones de invocación con tiempo de espera

Todos los comandos de invocación se pueden llamar en una interacción con tiempo de espera. La acción de solicitud con tiempo, la acción de solicitud de invocación y la acción de respuesta de invocación son solo de Unicast y, por lo tanto, no se pueden usar como transmisión de grupo en transacciones de invocación con tiempo.

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.