| Data de elaboração | 25/11/2021 |
| Responsável pelo estudo | Diego Gonçalves de Almeida (Assessor), Igor Ramos de Oliveira (Assessor) |
| Equipe do estudo | Esquadrão Suicida |
| Alvo | MDB |
| Origem | Objetivo estratégico: Necessidade em definir melhor pratica de desenvolvimento de serviços com processamento de filas. |
| Objetivo | Definir melhor pratica de desenvolvimento de serviços com processamento em background. |
| Documentação correlata (opcional) | |
| Observações | Não possui. |
Definir melhor prática de desenvolvimento de serviços com processamento em background.
É um microserviço que permite processar mensagens assíncronas e síncronas, agindo como um «Java Message Service (JMS) message listener».
Este serviços divide-se em duas premissas «Consumer» e os «Producer»:
Consumer: São consumidor de mensagens publicadas em um determinado tópico, este consumidor não depende, para o seu funcionamento, de um produtor; ambos funcionam de forma independente, podendo esta arquitetura possuir vários consumers afim de trabalhar com alto nível de processamento de dados.

Producer: São usado para enviar mensagens para uma fila ou tópico, e, como o consumidor, seu serviço é independente.

Os clientes «Consumer» podem consumir mensagens de forma assíncrona ou síncrona, de acordo com a especificação ou necessidade do sistema.
Só se pode usar uma mensagem assíncrona quando o chamado não precisa de uma resposta imediata, suponto que essas condições se apliquem, segue alguns motivos possíveis:

Podendo possuir muitos consumidores e muitos produtores no mesmo tópico
image-1631665366172.png
É mais complexo depurar um código assíncrono do que código síncrono.
Seu monitoramento se da por logs, integrado como exemplo «Splunk», afim de otimizar a integração e suas analise caso precise pesquisar afundo uma determinada ação e comportamento do MDB.
Serviço bem logado se torna mais fácil sua auditoria, e facilita a busca de alguma incidentes que possa ocorrer.
A partir do desenvolvimento foi concluído que é importante a utilização de um sistema de filas para ter uma comunicação assíncrona, evitando esperas desnecessárias.