0

私の RabbitMQ コンシューマでは、次の 2 種類のエラーを区別しています。

  • 「プロデューサー エラー」: プロデューサーは実装契約を尊重していません。例: 必須データの欠落、ビジネス ルールに違反するデータの組み合わせ、予期しないコンテンツ タイプ
  • 「消費者エラー」: メッセージは完全に有効ですが、消費者はメッセージの処理に失敗します。例: コンシューマ コードのバグ、メモリの枯渇、データベースへの接続の失敗。

プロデューサーのエラーをプロデューサーに戻す必要があります。コンシューマー側のエージェント (コンシューマー自体、人間など) が失敗したメッセージを再処理するか、手動で検査するキューにコンシューマー エラーをルーティングする必要があります。プロデューサーは問題を認識しません。

Q1: 生産者のエラーと消費者のエラーの違いは関係ありますか?

Q2: キューの DLX の構成で、DLX はどちらのメッセージを受け取る必要がありますか?プロデューサー エラーまたはコンシューマー エラー? DLQ が期限切れメッセージとルーティング不能メッセージも受信することは承知しています。

アドバイスをいただきありがとうございます。

4

0 に答える 0