2016-08-02 7 views
0

私は、Delayerを3つのサーバ上で動作する永続的なMessageStoreに結びつけたアプリケーションを持っています。 Delay間隔の経過後、DelayerはPersistent Storeからメッセージをどのように受け取るのですか?メッセージは任意のDelayerによってピックアップすることができます。またはメッセージをStoreに格納する特定のサーバーのDelayerになりますか?Delayer Persistent MessageStoreの実装

答えて

1

遅延機能は、クラスタ間でメッセージを配信するためのものではなく、それぞれ独自のストアを持つ必要があります。

それ以外の場合は、メンバーを再起動すると、すべてのメッセージが再スケジュールされます。トランザクションを使用している限り、スケジュールの1つ(元または再スケジュールされた)が見つからないため、重複はありませんメッセージ。

それぞれに別のストア/リージョンを使用し、クラスタに作業を分散するための他のメカニズムを使用する方が良いです。

+0

ありがとうございました!Delayerのメンバーがメッセージを一般的なJBBCMessageStoreのように再編成しても大丈夫でしょうか?Delayerが動作している(配信されている)3つのサーバーで同じREGIONを使用している場合、リアルタイムで、または再起動した後でそれを拾うことができますか?あなたが言ったもう1つの選択肢は、Delayerをそれぞれの地域が設定された別のサーバーに展開することです。サーバーの不具合が発生した場合、記憶されたメッセージを処理する能力を有する。 –

+0

簡潔にするために、永続ストア内の共通のREGIONを使用してDelayerを分散させることはできますか? –

+0

私が言ったように、トランザクションを使用している(再起動後)場合にのみ、期待どおりに動作します。再起動すると、DBからリリーススケジュールが再構築されます。私の好みの構成は、混乱を避けるために各インスタンスごとに異なる領域になります。 –

関連する問題