遅延キューは、各メッセージに遅延時間が関連付けられているキューであり、メッセージはその遅延が期限切れになった場合にのみ取得できます。キューの先頭は、過去に遅延が期限切れになったメッセージです。遅延の期限が切れていない場合、ヘッドはなく、デキューは null を返します。
実際、私は Azure を使用してクラウド アプリケーションを作成していますが、Azure では FIFO キューのみが使用可能であり、優先/遅延キューは使用できません。だから私はここに来て、誰かが私が正しい方向に向かうことができる場所からいくつかの指針を与えることができるかどうかを調べました. 私はよくグーグルで検索しましたが、Java での遅延キューの実装についてしか知りませんでした。一般的な遅延キューについて説明している標準的なチュートリアル/研究論文はありません。
編集:
私はコードを持っていますか?
実際には、まずこれを設計してマネージャーに提示する必要があります。設計が完成したら、コーディングを開始できるのは私だけです。
シナリオの詳細
マスター/スレーブ モデルに基づく分散アプリケーションです。マスターはメッセージを生成し、それらを Azure Service Bus キューに入れます。複数のスレーブ (複数のマシンで実行されている) がキューから読み取ってそれらを処理します。マスターがダウンした場合、スレーブの 1 つがマスターとして機能し、メッセージの生成を開始します。マスターに状態情報を保存したくありません。マスターがダウンした場合、その状態情報もすべて一緒に保存されるからです。