Prevenirea pierderii mesajelor nerutabile
Dacă un producător publică un mesaj către un exchange, însă nicio coadă nu are un binding care să se potrivească cu routing key-ul respectiv, mesajul este aruncat în mod silențios (dacă nu s-a setat flag-ul mandatory). Prin declararea unui Alternate Exchange, toate aceste mesaje orfane sunt redirecționate automat către o coadă de carantină sau audit.
Exemplu Concret: Configurare Alternate Exchange
# 1. Declararea exchange-ului de salvare (fanout)
channel.exchange_declare('salvare_nerutate', 'fanout')
channel.queue_declare('coada_nerutate')
channel.queue_bind('coada_nerutate', 'salvare_nerutate')
# 2. Declararea exchange-ului principal cu legătură către cel de salvare
channel.exchange_declare(
'exchange_principal',
'direct',
arguments={'alternate-exchange': 'salvare_nerutate'}
)
Întrebări & Exemple de Cod:
Alternate Exchange (AE) în RabbitMQAi o nelămurire despre utilizarea comenzii
Alternate Exchange (AE) în RabbitMQsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.