1. RabbitMQ の遅延キューを使用して、メッセージの遅延送信を実装します。デモを書きましたが、うまくいきました。
https://www.cnblogs.com/mfrank/p/11260355.html
2. 実際に使用したところ、一部のメッセージが指定した遅延時間どおりに消費されないことが判明しました。
https://www.zhihu.com/question/65916221
Google で検索して初めて、遅延キューにはいくつかの特徴があることを知りました: 1. 先入れ先出し; 2. 先頭のメッセージが消費されない場合、後続のメッセージは遅延時間に達しても消費されません。
したがって、遅延時間が異なるメッセージを同じキューに入れることはできません。つまり、遅延時間ごとに異なるキューを作成する必要があります。
しかし、実際の業務では遅延時間の異なるメッセージが大量に存在することは間違いなく、そのために多数の異なるキューを作成することは決して非現実的です。これを達成するには、もっと合理的な方法が他にあるはずです。
3. Rabbitmq-layed-message-exchange プラグインを使用して実装します。
具体的な構成と実装方法については、次のブログ投稿を参照してください。
https://blog.csdn.net/u014308482/article/details/53036770