0

RabbitMQを使用してパブリッシュ/サブスクライブシナリオを構築しました。パブリッシャによってメッセージが送信され、そのエクスチェンジに加入しているすべての消費者がそれぞれのキュー内のメッセージを受信する交換があります。これは、単一のプロデューサが存在し、複数のコンシューマが存在するファンアウトシナリオです。RabbitMqの各メッセージコンシューマのデッドレターキューを個別に

私は拒否されたメッセージを後で処理できるように、デッドレターキューをシステムに統合しようとしています。私の質問は

1)消費者ごとに個別のデッドレターキューを設定するか、すべてのコンシューマーからのすべての拒否メッセージを処理する単一のキューが必要ですか?

2)どちらも可能な場合はどちらが良いですか?

3)複数のパーティーが関与しているため、プロデューサーと複数の消費者が、デッドレターを処理する必要があります。それはプロデューサーになるのだろうか、あるいは各消費者はそれ自身の方法で自分の死んだ手紙を扱うだろうか?

4)デッドレターのキューを常に確認するには、プロデューサキューまたはプロデューサエクスチェンジではなくコンシューマキューを常に設定する必要があります。

答えて

0

回答はすべてあなたの要件に依存します。

  1. それはあなたが死んで文字メッセージを処理する方法に依存 - あなたは、単一のキューを使用する場合は、x-deathヘッダに原点情報を見つけることができます。
  2. 「より良い」は主観的です。あなたが何をしたいかによってまったく異なります。
  3. もう一度、あなたとあなたのアプリケーション設計に任されます。
  4. > ...producer queue...プロデューサーは、キューのみの交換と(多くの場合)ルーティングキーについてはわかりません。だから、一般的に消費者側の設定です。
+0

ご清聴ありがとうございます。 – Soumya

関連する問題