1
resposta

Sobre Resiliência - design patterns OUTBOX

Pra fechar então, gostaria de esclarecer mais dois pontos. 1 - A estratégia de criar um cluster se aplicaria apenas enquanto as mensagens não são persistidas ? Dentro desse contexto ainda, no caso de mensagens persistidas, essa persistencia é feito pelo próprio rabbitMQ ?

2 - Fazendo uso do OUTBOX, a aplicacação produtora é quem mais tem interesse que as mensagens sejam entregues então, faço a persistencia das mensagens produzidas no OUTBOX para evitar perdas. Pensando nisso, eu precisaria ter um feedback do rabbit que as mensagens foram entregues com sucesso, isso é possível ? Dessa forma eu teria um controle das mensagens entregues e poderia programar uma lógica de reprocessamento, ou isso tbm consigo fazer apenas com o rabbitMQ ?

1 resposta

Olá, Argeu, tudo bem?

Na verdade, a estratégia de criar um cluster se aplica independentemente de as mensagens serem persistidas ou não. Ao criar um cluster, visamos garantir a alta disponibilidade e escalabilidade do sistema, independentemente de as mensagens serem persistidas ou não. Ele permite que você distribua as mensagens entre vários nós, garantindo que, mesmo que um nó fique indisponível, as mensagens ainda serão entregues. No caso, de mensagens persistidas, a persistência é feita pelo próprio RabbitMQ.

Quanto ao feedback de entrega das mensagens, o RabbitMQ possui mecanismos de confirmação de entrega, como o "acknowledgement". Com isso, você pode receber uma confirmação do RabbitMQ de que a mensagem foi entregue com sucesso. E sim, com essa informação você também pode implementar uma lógica de reprocessamento, caso seja necessário.

Espero ter ajudado.

Caso surja outra dúvida, é só compartilhar no fórum.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software