Mensagerias, como o RabbitMQ, são um importante recurso para a comunicação assíncrona entre Microsserviços. Elas utilizam os domínios Point-to-Point e Publish-Subscribe, com o depósito de mensagens em uma fila para que os consumidores as tratem no momento correto. Acerca do uso de mensagerias com microsserviços, é correto afirmar que:
- A)através do domínio Point-to-Point, um microsserviço pode enviar dados para vários microsserviços simultaneamente;
Errada: no modelo Point-to-Point, a mensagem é direcionada a um consumidor, não enviada simultaneamente para vários microsserviços.
- B)é necessário que microsserviços produtores e consumidores estejam ativos, para que a mensagem não seja perdida;
Errada: a mensageria permite armazenamento temporário da mensagem no broker, então produtor e consumidor não precisam estar ativos ao mesmo tempo.
- C)o modelo de comunicação segue o padrão arquitetural PAC;
Errada: PAC é um padrão de organização de interface, não o padrão arquitetural típico de comunicação por mensageria entre microsserviços.
- D)no domínio Publish-Subscribe é definido um tópico, para que os microsserviços de destino consumam de forma assíncrona;
Certa: no Publish-Subscribe, um tópico é definido para que múltiplos consumidores recebam e processem a mensagem de forma assíncrona.
- E)o uso de mensagerias define sistemas com alto acoplamento.
Errada: mensageria é usada justamente para reduzir acoplamento, pois o produtor não depende diretamente do consumidor.
Gabarito: D
Em microsserviços, mensageria serve para desacoplar quem envia de quem recebe. Em vez de um serviço ficar esperando o outro responder na hora, a mensagem vai para o broker, como o RabbitMQ, e cada consumidor trata no seu tempo. Isso melhora escalabilidade, resiliência e evita que uma falha em um serviço derrube toda a comunicação. A lógica básica aqui é esta: no ponto a ponto (Point-to-Point), uma mensagem vai para uma fila e, em regra, é consumida por um destinatário. Já no Publish-Subscribe, um produtor publica em um tópico e vários consumidores interessados podem receber aquela mensagem de forma assíncrona. É o clássico modelo de "eu publico e quem quiser assina". Por isso a alternativa D está correta. No domínio Publish-Subscribe, define-se um tópico para que os microsserviços de destino consumam as mensagens de forma assíncrona. Isso é exatamente o que se espera de uma arquitetura orientada a eventos: o produtor não precisa conhecer os consumidores, e os consumidores reagem quando a mensagem chega. Em provas, a banca costuma cobrar a diferença entre fila e tópico, além da ideia de desacoplamento. Mensageria não exige que produtor e consumidor estejam ativos ao mesmo tempo, porque a fila guarda a mensagem até o processamento. Em outras palavras: o sistema não fica "de plantão" com os dois lados online ao mesmo tempo, o broker faz esse papel de intermediário.