Olá, Alexandre! Tudo bem?
A criação de clusters com filas espelhadas (Mirrored Queues) no RabbitMQ pode ajudar a aumentar a disponibilidade e resiliência do seu sistema, pois permite que as mensagens sejam replicadas em vários nós. Isso significa que, se um nó ficar indisponível, outro pode assumir sem perda de mensagens.
No entanto, mesmo com essa configuração, ainda existe a possibilidade de todo o cluster do RabbitMQ ficar fora do ar, seja por falhas de rede, problemas de hardware, ou manutenção. O padrão Outbox Pattern que você mencionou é uma solução para garantir a entrega de mensagens mesmo que o RabbitMQ esteja indisponível, armazenando mensagens em um banco de dados até que possam ser processadas.
Portanto, embora o uso de Mirrored Queues aumente a resiliência, ele não elimina completamente a necessidade do Outbox Pattern em sistemas que exigem alta disponibilidade. O Outbox Pattern continua sendo uma camada adicional de segurança para garantir que as mensagens não sejam perdidas em caso de falhas mais abrangentes.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.