8

キューに常に個別のメッセージがあることを確認するエレガントな方法があるかどうかを知りたいです (重複検出ウィンドウやその期間に関連するものは何もありません)。

Service Bus Queue がセッションの概念を提供することは知っています (Service Bus Queue の重複検出は期間に依存するため役に立たないと述べました)。この機能のためだけに、サービス。

ありがとう、

4

2 に答える 2

15

これを確実に行うことはできません。

Storage キューにクエリを実行して、同じ内容のメッセージが既に存在するか、以前に存在したかを確認できるメカニズムはありません。いくつかのストレージ テーブルを使用して独自のロジックを実装しようとすることはできますが、それは信頼できません。テーブルへのエントリが成功した後、キューへのエントリが失敗する可能性があり、テーブルに不正なデータが含まれる可能性があります。

コードでは、既に処理されたデータと同じデータを含むメッセージを取得できると常に想定する必要があります。これは、作業中のワーカーがクラッシュしたり、時間がかかりすぎたりすると、メッセージがキューに戻ってくる可能性があるためです。

于 2013-01-11T15:02:15.937 に答える