Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Dica

Atualmente o TNF suporta o RabbitMQ versão 3.6.14.

Obs: para Para que o RabbitMQ trabalhe com o protocolo AMQP você deve habilitahabilitá-lo nas configuração de plugins localizado dentro da pasta "sbin" no diretório de instalação do RabbitMQ.

Para fazer isso dentro deste diretório abra um utilitário de linha de comando e execute: "rabbitmq-plugins enable amqp_client".

Você também pode consultar quais os plugins do RabbitMQ estão habilitados executando: "rabbitmq-plugins list".

Overview

Conceitos

TermoDefinição
BindingÉ o relacionamento entre um ExchangeRouter e uma Queue. O binding de uma Queue em um Exchange Router utilizando uma routingkey, permite o roteamento de mensagens.
MensagemÉ um objeto serializado que é enviado para o sistema de mensageria. O TNF vincula fortemente o objeto de mensagem, tanto para sua publicação ou assinatura, afim de garantir que uma dada mensagem será manipulada.
TópicosO Tópico é uma abstração que garante que toda a mensagem que for enviada para o sistema de mensageria seja manipulada por uma classe concreta. Isso é feito através o relacionamento que o Tópico cria entre Routing Keys, Queues e Mensagens.
Routing Key

É uma string utilizada como chave para identificar um Bind entre ExchangeRouter e Queues. Essa identificação faz o roteamento de mensagens na infraestrutura de mensageria e TNF.


A Routing Key trabalha com os seguintes coringas:

*Substitui exatamente uma palavra.
ExemploPerson.*
  • Person.Created (match)
  • Person.Created.Event (mismatch)
  • Person (mismatch)
#Substituir por nenhuma ou mais letras
Exemplo

Person#

  • Person.Create (match)
  • PersonCreated.Event (match)
Exchange RouterÉ um centralizador de Filas, contendo uma ou mais filas.
Exchange Type

Define o comportamento de um Exchange Router, sendo:

  • Topic - Envia uma mensagem para uma ou mais filas que tenham feito bind usando uma routing key;
  • * Fanout - Faz um broadcast de uma mensagem para todas as filas registradas;
  • * Direct - Envia uma mensagem para uma fila que tenha feito bind usando uma routing key;
  • * Rpc - Envia uma mensagem para uma fila e aguarda o seu processamento e retorno (Not implemented).

* Not implemented yet



...