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
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.
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.