Invocar transações

Invocar transações é usado para invocar um ou mais comandos de cluster em um nó de destino. É semelhante a chamadas de procedimentos remotos feitas para um comando definido no cluster.

De maneira semelhante às transações de gravação, invoque transações compatíveis com transações cronometradas e não cronometradas. Consulte a seção Ações com tempo limite e sem tempo limite para mais informações sobre transações com tempo determinado.

Transação de chamada não programada

Sequência de operações de uma transação de chamada não programada
Figura 1: transação de chamada não programada

Invocar ação de solicitação

Direção: Iniciador -> Destino

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

  • Invocar solicitações: uma lista de caminhos para os comandos do cluster, bem como argumentos opcionais para os comandos com os campos de comando.
  • Solicitação cronometrada: uma sinalização que indica se essa ação faz parte de uma transação com Invocação cronometrada.
  • Suprimir resposta: uma sinalização que indica se a ação de resposta de invocação deve ser suprimida.
  • ID de interação: um número inteiro usado para corresponder a ação de solicitação de chamada à ação de resposta de invocação.

Invocar ação de resposta

Direção: alvo -> Iniciador

Depois que o destino recebe a ação de solicitação de invocação, ele finaliza a transação com uma ação de resposta que chama:

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

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

A ação de solicitação de invocação pode ser um groupcast, mas, nesse caso, a sinalização de Suppress Response precisa ser definida. A lógica é que, de outra forma, a rede pode ser inundada por respostas simultâneas de todos os membros de um grupo.

Para ativar esse comportamento, o caminho usado na lista "Chamar solicitações" pode conter grupos e, como alternativa, pode conter caracteres curinga, mas apenas no campo "Endpoint". Além disso, se a ação for de cast de grupo, a transação será encerrada sem resposta.

Invocar transações com tempo determinado

Assim como as transações de gravação cronometrada, as transações de invocação cronometrada também começam com a ação de solicitação programada.

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

Ação de solicitação cronometrada

Direção: Iniciador -> Destino

Um iniciador inicia a transação que envia essa ação que contém:

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

Depois que a ação de solicitação cronometrada é recebida, a meta precisa reconhecê-la com uma ação de resposta de status. Depois que o iniciador recebe uma ação de resposta de status sem relatar erros, ele envia uma ação de solicitação de invocação.

Invocar ação de solicitação

O mesmo que o descrito anteriormente em Invocar ação de solicitação.

Invocar ação de resposta

O mesmo que o descrito anteriormente em Invocar ação de resposta.

Restrições de invocação cronometrada

Todos os comandos de invocação podem ser chamados em uma interação cronometrada. A ação de solicitação cronometrada, a ação de solicitação de invocação e a ação de resposta de invocação são somente Unicast e, portanto, não podem ser usadas como grupo de transações de tempo de invocação.

A ação de solicitação de invocação aceita o uso de caminhos com grupos e caracteres curinga, mas a ação de resposta de invocação não é compatível com o uso de caracteres curinga.