Olá Jose! Tudo bem?
No contexto do RabbitMQ, quando utilizamos o padrão de troca fanout
, como no seu exemplo, o publish
envia mensagens para uma exchange
, e não diretamente para uma fila. A exchange
é responsável por distribuir essas mensagens para todas as filas que estão ligadas a ela.
No caso do subscribe
, ele não precisa saber o nome da fila antecipadamente. O que acontece é que o subscribe
se conecta à mesma exchange
que o publish
está usando. No seu exemplo, a exchange
é chamada de "trigger"
. Quando o subscribe
se conecta a essa exchange
e declara uma fila, ele automaticamente começa a receber as mensagens que são publicadas na exchange
.
No código que você está seguindo, o RabbitMqSubscriber
declara uma fila anônima (ou seja, sem um nome específico) e a associa à exchange
usando o QueueBind()
. Isso significa que qualquer mensagem enviada para a exchange
"trigger"
será recebida por essa fila anônima.
Portanto, o subscribe
não precisa saber o nome da fila, pois ele se inscreve na exchange
e automaticamente recebe as mensagens através da fila que ele mesmo declara e vincula à exchange
.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.