2012-05-02 2 views
2

同じイベントをパブリッシュする複数のパブリッシャーはいないはずです。 しかし、購読しているイベントを処理した後、そのイベントを発行するサブスクライバをどのようにスケールアウトする必要がありますか?これをスケールアウトすると、複数のサイト運営者が同じイベントを公開することになります。NServiceBusパブリッシャーをスケールアウトする方法

Googleで検索すると、矛盾する回答が得られます。 1つは、発行する代わりにsendを使用し、別のソースは、共有のサブスクリプションストレージを使用するだけであると言います。

私はおそらく共有サブスクリプションストレージに行くだろうが、これが適切に動作するかどうかは分かりません。

+0

サブスクライバは、処理した同じイベントを公開していますか?より多くの負荷を処理するためですか? –

+0

いいえ、たとえば、OrderPlacedにサブスクリプションされ、(OrderPlacedを処理した後に)PaymentDetailsEmailedイベントを公開している請求である可能性があります。 – Bruno

答えて

1

私がこれを正しく読んでいるなら、Distributorを利用して購読者の規模を拡大します。 3.0を使用している場合は、別のノードと少量の設定を追加することになります。 2.xを使用している場合は、もう1つのエンドポイントを含むもう少しセットアップが必要です。 があります。

+0

サブスクライバをスケールアウトすることは問題ではありません。 ディストリビューターを使用して加入者をスケールアウトすると、複数のサイト運営者が同じイベントを公開することになります。同じイベントを公開している複数のサイト運営者をどのように扱うべきですか。 – Bruno

+0

ディストリビュータでは、作業が分割されるため、各パブリッシャは異なる一連のイベントを公開します。彼らはサブスクリプションストレージを共有して、どのエンドポイントがパブリッシュを行ったかにかかわらずすべてのサブスクライバがメッセージを受信するようにします。 –

+0

したがって、同じイベントパブリッシャの異なるインスタンス間でサブスクリプションストレージを共有でき、それらの間で競合が発生することはありませんか? – Bruno

関連する問題