2009-04-11 5 views
1

受信イベントを受信するオンラインサービスがあります(毎秒)。 30秒以上のイベントがなかった場合、サービスはジョブを処理する必要があります。サービスは複数のPCに分散され、Amazon Webサービス(SQSおよびSimpleDB)をバックボーンとして使用します。遅延メッセージを配信し、一意性をチェックするメッセージキュー

受信イベントがあるとき(メッセージをメッセージキューに入れて終了したとき)にジョブをスケジュールする方法はわかりますが、条件が「NO EVENTS FOR X SECONDS」の場合はどのようにしてジョブをスケジュールできますか?

理想的には、重複メッセージを許可せず、将来のスケジューリングを許可し、各メッセージの「配信日」を調整できるメッセージキューが必要です。

このようなメッセージキューの実装はありますか? この問題は、データベースに一部のデータを永続させることなく解決できますか?

ありがとうございました

答えて

0

BizTalkまたはSQL Server Service Brokerの両方が要件を満たしています。彼らが重量が大きすぎる場合は、2秒ごとにキューを覗く単純なサービスを書くことができます.30秒以内に何も表示されない場合はタイムアウトします。しかし、それはマシン間で水平に拡大するのが難しいでしょう。

+0

私はあなたが質問を逃したと思います。私は必要なものが "メッセージのグループ化"であることを発見しました。AMQPのように見えます。 通知を受け取った分散キャッシュで問題を解決できるようです。私は今、MicrosoftのVelocityを見ています... –

関連する問題