Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 3645|Resposta: 0

Explicação detalhada da arquitetura de mensagens AMQP do RabbitMQ

[Copiar link]
Publicado em 14/08/2022 23:32:43 | | | |
Introdução ao protocolo AMQP

AMQP (Advanced Message Queuing Protocol) é um protocolo padrão de nível de aplicação que fornece serviços de mensagens unificadas e é um padrão aberto para protocolos de camada de aplicação projetados para middleware orientado a mensagens. AMQP é um protocolo de rede para a passagem de mensagens assíncronas entre processos.

Clientes e middleware de mensagens baseados nesse protocolo podem entregar mensagens sem serem limitados por diferentes produtos/middleware, linguagens de desenvolvimento diferentes, etc.

As principais características do AMQP são orientado a mensagens, enfileirado, roteamento (incluindo peer-to-peer e publicação/assinatura), confiabilidade e segurança. O AMQP reforça o comportamento dos provedores de mensagens e clientes, permitindo verdadeira interoperabilidade entre diferentes fornecedores.

Explicação detalhada do protocolo AMQP
https://www.itsvse.com/thread-10347-1-1.html

Mensagens de roteamento

Na arquitetura AMQP, qualquer roteamento de mensagem bem-sucedido consiste em três partes:

  • Troca: Onde produtores publicam mensagens
  • Filas: onde os consumidores recebem mensagens
  • Bindings: Como as mensagens são roteadas do switch para uma fila específica


Trocas e Vinculações

Então, como a mensagem chega à fila? Sempre que você quiser entregar uma mensagem a um consumidor, primeiro deve enviá-la ao exchanger. Depois, com base em certas regras ou chaves de roteamento, o RabbitMQ decide para qual fila deve entregar as mensagens.

Regras – ou chaves de roteamento – permitem que você vincule uma fila à central. O RabbitMQ tentará corresponder a chave de roteamento da mensagem à chave usada na vinculação. A mensagem é então entregue à fila com base em um dos quatro tipos de troca: fanout, tópico, direto, cabeçalho



Intercâmbio de Fanout

Esse tipo de troca transmite todas as mensagens que recebe para todas as filas vinculadas a ele. Quaisquer chaves de roteamento fornecidas com a mensagem publicada serão ignoradas.

Troca de Temas

Nesse tipo de troca, as mensagens são enviadas para uma fila baseada na chave de roteamento. Isso significa que mensagens enviadas para a troca de tópicos devem ter uma chave de roteamento específica, que deve ser uma lista de palavras, separadas por pontos (por exemplo, 'acs.deviceoperations.'). O limite de redação é de 255 bytes.

A chave de vinculação deve estar no mesmo formato da chave de roteamento. Portanto, mensagens enviadas com uma chave de roteamento específica serão entregues a cada vinculado à fila com uma chave correspondente.

Chaves de vinculação permitem as seguintes regras de expressão:

*(asterisco) pode substituir apenas uma palavra
# (hash) pode substituir zero ou mais palavras
Quando uma fila é vinculada a uma chave de vinculação "#" (hash), ela receberá todas as mensagens independentemente da chave de roteamento, assim como em uma troca Fanout com fan-out.

Troca Direta

Quando uma fila é declarada, ela seráVincule automaticamente a um switch que usa o nome da fila como chave de roteamento。 Se a chave de roteamento coincidir, a mensagem é entregue à fila apropriada.

Troca de cabeçalhos

Switches de cabeçalho são um pouco semelhantes aos switches de tópico, mas, ao contrário dos switches de tópico, o roteamento é baseado em chaves de rota, e os valores de roteamento dos switches de cabeçalho são baseados nos dados de cabeçalho da mensagem.
A chave de roteamento do tópico do switch é apenas uma string, enquanto o switch do cabeçalho pode ser um inteiro e um hash.

(Fim)





Anterior:Explicação detalhada do protocolo AMQP
Próximo:[Virar]. Otimizações de desempenho da NET - percorra rapidamente coleções de listas
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com