Azure キューにメッセージを送信する Azure Web アプリケーションがあり、キューをポーリングしてメッセージが利用可能になったときにメッセージを処理するワーカーがあります。ほとんどの場合、これはうまく機能しており、このデザインに満足しています。
ただし、うまく機能しないシナリオが 1 つあります。この特定のケースを処理する方法についての提案を探しています。
たまに、特定のユーザー (彼を Bob と呼びましょう) がいくつかのアクションを実行すると、いくつかのメッセージがキューに送信されてバックログが作成され、他のユーザーは Bob のメッセージが処理されるのを待ってからメッセージを処理する必要があります。 . Bob がキューで多くのメッセージを送信したという事実に対して、彼らはペナルティを受けます。
あるユーザーへのメッセージが他のユーザーへのメッセージの遅延を引き起こさないように設計を改善するにはどうすればよいですか? 私の最初の本能は、ユーザーごとに 1 つのキューを作成することでしたが、ユーザーが数千人いる場合、それが合理的な設計であるかどうかはわかりません。
このシナリオに対処するための設計パターンはありますか? もしそうなら、再利用できるパターンの C# 実装はありますか?