メッセージを読み取らずに、AMQP キューからメッセージを選択的に削除したいと考えています。
シナリオは次のとおりです。
送信側は、タイプ X の新しい情報が到着したという事実に基づいて、タイプ X のメッセージを期限切れにしたいと考えています。サブスクライバーがタイプ X の最新のメッセージをまだ消費していない可能性が非常に高いため、パブリッシャーは以前の X タイプのメッセージを削除し、最新のメッセージをキューに入れる必要があります。操作全体はサブスクライバーに対して透過的である必要があります。実際、サブスクライバーは STOMP のような単純なものを使用してメッセージを取得する必要があります。
AMQP を使用してそれを行う方法は? それとも、別のメッセージング プロトコルの方が便利なのでしょうか?
複雑なインフラは避けたい。必要なメッセージング全体は上記のように単純です: 1 つのキュー、1 つのサブスクライバー、1 つのパブリッシャーですが、パブリッシャーは特定の基準でメッセージをアドホックに削除する機能を備えている必要があります。
パブリッシャーのクライアントは Ruby を使用しますが、実際には、プロトコルでそれを行う方法を見つけ次第、どの言語にも対応します。