これらの 2 つのリンクlink1 link2をたどって、キュー内のメッセージの処理を遅らせることを計画しました。したがって、リンクで提案されているとおりです。x-dead-letter-exchange
およびx-dead-letter-routing-key
引数を使用して元のキューを宣言しました。dead-letter-queue
メッセージがコンシューマーによる処理に失敗したか、ttl が発生したか、キューの長さが超過したときに、いわゆるにメッセージを発行しました。現在、dead-letter-queue
同様の引数がパラメータとともに設定されていttl
ます。ttl
超過後にメッセージを元のキューに再発行することを想定しています。しかし問題は、すべてのメッセージがドロップされていることです。
さらに、ここで落とし穴があります。失敗したメッセージを元のキューから配信不能キューに明示的に発行する場合。次に、ttl の後、メッセージを元のキューに再発行します。なぜそうなのか、どうすればそれを機能させることができますか。そのため、dead-letter-queue はメッセージをドロップするのではなく、元のキューに再発行します。を使用してRabbitMQ 3.0.0
います。
direct
参考までに、タイプの交換とルーティング キーの両方を作成しました。