過去に、私はメッセージキューを使用して需要の急増を処理しました。このシステムは、ログ記録の目的を除いて、正常に機能します。レポートとログ記録のために、正常に処理されたメッセージをデータベースに書き込みます。これは、なぜ最初からメッセージをデータベースに書き込んで、メッセージキューではなく、「ワーカーロール」にデータベースをポーリングさせるのか疑問に思います。
データベースが大きくなるにつれて、処理する1つの「チェックされていない」レコードを探すためだけに巨大なデータベースをポーリングするのは非常に遅くなるので、これは最良の設計ではないと思います。 。
私は何かが足りないのですか?データベースのポーリングよりもメッセージキューを選択する他の理由はありますか?まだ処理されていないもの(キューにフロートしているもの)をユーザーが確認できるようにしたいと思いますが、その操作はデータベースでクエリを実行するよりもはるかに時間がかかるため、トレードオフのようです。
ご入力いただきありがとうございます。