Invocar transações

Invocar transações são usadas para invocar um ou mais comandos de cluster em uma Nó de destino. É semelhante às chamadas de procedimentos remotos feitas para um comando definido no cluster.

Assim como as transações de gravação, as transações de invocação oferecem suporte a transações programadas e não programadas. Consulte o Ações cronometradas e não cronometradas para mais informações sobre transações cronometradas.

Transação de invocação não cronometrada

Sequência de operações de uma transação de invocação não cronometrada
Figura 1: Transação de invocação sem tempo

Invocar ação de solicitação

Direção: Iniciador -> Alvo

Semelhante à ação de solicitação de leitura e à ação de solicitação de gravação, nesta ação, o iniciador fornece ao alvo:

  • Invocar solicitações: uma lista de caminhos aos comandos do cluster, bem como argumentos opcionais para os comandos, chamados Campos de comando.
  • Timed Request: uma sinalização que indica se esta ação faz parte de um Timed Request: Invocar transação.
  • Suppress Response: uma flag que indica se a ação de invocar resposta precisa ser suprimida.
  • ID de interação: um número inteiro usado para corresponder a ação "Invocar solicitação" para a ação de invocar resposta.

Invocar ação de resposta

Direção: alvo -> Iniciador

Depois que o destino receber a ação de invocação de solicitação, ele finalizará a transação com uma ação de resposta de invocação que realiza:

  • Invocar respostas: uma lista de respostas de comando ou status para cada invocação solicitação enviada.
  • ID de interação: um número inteiro usado para corresponder a ação de resposta de invocação à invocar ação de solicitação.

Restrições de invocação não cronometrada

A ação de solicitação de invocação pode ser um groupcast, mas, nesse caso, a flag Suppress Response precisa ser definida. A justificativa é que, caso contrário, a rede poderia ser inundado por respostas simultâneas de todos os membros do grupo.

Para ativar esse comportamento, o caminho usado na lista de solicitações de invocação pode conter grupos e, como alternativa, pode conter caracteres curinga, mas apenas no campo de endpoint. Além disso, se a ação for groupcast, essa transação termina sem resposta.

Transações de invocação com marcação de tempo

Semelhante às transações de gravação cronometradas, as transações de invocação cronometradas também começam com a ação de solicitação cronometrada.

Sequência de operações de uma transação de invocação com tempo
Figura 2: transação de invocação cronometrada

Ação de solicitação com tempo

Direção: Iniciador -> Alvo

Um iniciador inicia a transação enviando esta ação que contém:

  • Tempo limite: quantos milissegundos essa transação pode permanecer aberta. Durante Nesse período, a próxima ação enviada pelo Iniciador será considerada válida.

Quando a ação de solicitação cronometrada for recebida, o destino precisará confirmar o Ação de solicitação cronometrada com uma ação de resposta de status. Assim que o iniciador receber uma ação de resposta de status não tiver erros, ele enviará uma solicitação de chamada Ação.

Invocar ação de solicitação

Igual à opção Invocar ação de solicitação descrita anteriormente.

Invocar ação de resposta

Igual à opção Invocar ação de resposta descrita anteriormente.

Restrições de invocação com tempo

Todos os comandos de invocação podem ser chamados em uma interação com timer. A solicitação com marcação de tempo "Invocar ação de solicitação" e "Invocar ação de resposta" são Somente Unicast e, por isso, não pode ser usado como groupcast em "Timed" Invoque transações.

A ação de invocar solicitação oferece suporte ao uso de caminhos com grupos e caracteres curinga, mas a ação de invocar resposta não oferece suporte ao uso de caracteres curinga.