Pular para o conteúdo

Ligações e fluxos

Estas ações agrupam-se em famílias de duas ou três: ligar, enviar, fechar. A ligação permanece aberta entre as caixas, o que permite entrelaçar outras chamadas pelo meio.

Uma ação de ligação tem duas saídas:

SaídaEmissão
connectedUm sinal, uma vez, quando a ligação é estabelecida
messageUma emissão por cada mensagem recebida

Tem um nome de ligação (connectionName). As ações de envio e de fecho designam depois essa ligação pelo identificador da respetiva caixa (connectionNodeId).

O encadeamento clássico:

Ligação MQTT ──connected──► Pedido HTTP (acionar a ação de negócio)
└────────message─────► Assert (a mensagem esperada chegou)
depois ──► Fecho da ligação MQTT
AçãoEntradasSaídas
Ligação WebSocketconnected, message (qualquer trama recebida)
Envio WebSocketpayload
Fecho da ligação WebSocket
Fecho do servidor WebSocket

Consulte WebSocket.

AçãoEntradasSaídas
Ligação Socket.IOconnected, uma porta event:<name> por cada evento declarado, e others
Envio Socket.IOchannel, payload
Fecho da ligação Socket.IO
Fecho do servidor Socket.IO

É a única ação de ligação cujas saídas são configuráveis: declare a lista dos eventos que lhe interessam e cada um recebe a sua porta. Qualquer evento não declarado chega a others.

Consulte Socket.IO.

AçãoEntradasSaídas
Ligação MQTTconnected, message
Publicação MQTTpayload
Fecho da ligação MQTT

A ligação subscreve o tópico do pedido; o envio publica com a QoS e a opção de retenção configuradas. Consulte MQTT.

AçãoEntradasSaídas
Ligação SSEconnected, message
Fecho da ligação SSE

Apenas em receção: não existe ação de envio. Consulte SSE.

AçãoEntradasSaídas
Ligação STOMPconnected, message
Envio STOMPpayload
Fecho da ligação STOMP

A ligação emite o CONNECT e depois um SUBSCRIBE por cada subscrição configurada; o envio produz uma trama SEND; o fecho, um DISCONNECT. Consulte STOMP.

AçãoEntradasSaídas
Ligação AMQPconnected, message
Publicação AMQPpayload
Fecho da ligação AMQP

A ligação consome a fila do pedido (modo subscribe); a publicação utiliza o respetivo exchange e a sua chave de encaminhamento. Consulte AMQP.

AçãoEntradasSaídas
Subscrição Redisconnected, message
Fecho da ligação Redis

Para um comando isolado, existe Comando Redis, que é uma ação de pedido / resposta — consulte Pedidos e composição.

AçãoEntradasSaídas
Consumo Kafkaconnected, message
Fecho da ligação Kafka

O consumo subscreve através do grupo de consumidores do pedido. Para produzir, existe Produção Kafka, uma ação isolada. Consulte Kafka.

AçãoEntradasSaídas
Ligação gRPCconnected, message
Envio gRPCpayload
Fecho da ligação gRPC

Para os modos server-stream, client-stream e bidirectional-stream: o envio só faz sentido nos dois últimos e o fecho realiza o meio-fecho do lado do cliente. Uma chamada unary faz-se com Pedido HTTP. Consulte gRPC.

AçãoEntradasSaídas
Subscrição GraphQLconnected, message
Cancelar subscrição GraphQL

Consulte GraphQL.