Índice:
Definição - O que significa Asynchronous Messaging?
As mensagens assíncronas são um método de comunicação em que o sistema coloca uma mensagem em uma fila de mensagens e não requer uma resposta imediata para continuar o processamento. Os exemplos incluem uma solicitação de informações, explicações ou dados necessários, mas não necessários imediatamente.
Techopedia explica mensagens assíncronas
Os participantes das mensagens assíncronas dependem da recepção da mensagem inicial, mesmo que o destinatário pretendido esteja fora do escritório ou simplesmente não esteja disponível. Da mesma forma, o destinatário pode responder sem que o originador da mensagem esteja presente ou disponível. O e-mail é provavelmente o melhor exemplo de mensagem assíncrona usada em todo o mundo.
Uma grande vantagem das mensagens assíncronas é sua escalabilidade. Uma mensagem curta pode ser enviada com uma resposta muito longa ou vice-versa. Uma solicitação de um documento de texto considerável como anexo enfatizaria ainda mais os benefícios da escalabilidade.
As mensagens assíncronas resolvem o problema da conectividade intermitente. Além disso, se o equipamento receptor falhar ou não estiver disponível, a mensagem poderá permanecer em uma fila de mensagens e ser entregue assim que a falha for corrigida.
Um sistema de mensagens assíncrono com inteligência incorporada pode alterar o conteúdo e / ou o formato da mensagem automaticamente para se adaptar a outro aplicativo de software ou protocolo necessário, mas ainda assim entregar com êxito a mensagem ao destinatário.
As desvantagens do sistema de mensagens assíncrono incluem o componente adicional de um intermediário de mensagens ou agente de transferência para garantir que a mensagem seja recebida. Isso pode afetar o desempenho e a confiabilidade. Uma desvantagem mais óbvia é o requisito de esperar por uma resposta, o que pode ser inconveniente e certamente não consistente com a comunicação normal por diálogo.
A falta de padrões para mensagens assíncronas causou problemas, com cada fornecedor principal tendo suas próprias implementações, interface e ferramentas de gerenciamento. Os sistemas Java EE não são interoperáveis. E o MSMQ da Microsoft (Microsoft Message Queuing) não suporta Java EE.
O Advanced Message Queuing Protocol (AMQP) é uma tecnologia emergente que trata do problema de padronização. As implementações são interoperáveis. Inclui roteamento flexível e paradigmas de mensagens comuns, como publicação / assinatura, ponto a ponto, resposta a solicitação e fanout. E alguns aplicativos Java também usam AMQP.