4

サブスクリプション モデルがあり、新しい請求書の発行、電子メールの送信などの更新関連のロジックを実行したいと考えています。たとえば、ユーザーは今日サブスクリプションを購入し、更新は 1 年後に行われます。最近、Azure キューを使用していますが、このような更新に適用されると思います。

このような長期のスケジュールされたメッセージに対して BrokeredMessage.ScheduledEnqueueTimeUtc( http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.scheduledenqueuetimeutc.aspx )を使用してメッセージをプッシュすることにより、Azure Queue を使用することは可能ですか?

1分で通知を送信するなど、短期間で使用しましたが、うまく機能します。

このようにして、複数のプロセスでキューをリッスンし、更新ロジックを実行するプロセスが 1 つだけであることを確認できます。これは、リースおよび関連機能を介して Azure Queue に組み込まれているため、ロックに関連する多くの問題を解決します。

4

1 に答える 1

8

はい、長期のスケジューリングに使用できます。スケジュールされたメッセージには、通常のメッセージと同じ保証があります。ただし、次の点に注意する必要があります。

  • ScheduledEnqueueTimeUtcメッセージがキューで (数百ミリ秒以内に) 使用可能になるが、必ずしも配信される必要はない時間です。これは、キューの負荷と状態によって異なります。したがって、ビジネス プロセスには適していますが、時間に敏感な (ミリ秒単位の) 使用には適していません。サブスクリプションのキャンセルが本当に時間に敏感でない限り、あなたの場合は問題ありません.
  • ストレージ クォータに影響します (現在のクォータでは実際には問題ありませんが、年数を考えると、これは問題になる可能性があります)
  • 私が知る限り、スケジュールされたメッセージは以前はアクセスできずScheduledEnqueueTimeUtc、非表示になっています。

紺碧のメッセージングに関する非常に素晴らしい情報源

技術的な観点からは問題ありませんが、あなたの場合、年数を考えると、他の潜在的な問題についても考えます。

  • メッセージのバージョン管理
  • Azure を別のもの (AWS?) に変更したい場合はどうなりますか?
  • 来年、Azure Service Bus for NServiceBus を変更することにした場合はどうなりますか?
于 2014-11-13T17:53:05.353 に答える