← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

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:

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.

Continue treinando

Questões relacionadas