0

私は、複数の国にまたがって同じウェブサイトを持つシステムに取り組んでいます。これらの Web サイトには、それぞれ独自のサービスがあります。すべてがうまく機能しますが、メッセージとして公開するのではなく、メッセージを送信する必要があることに常に気付きました。そうしないと、事前に知っている他のサービスはまったく無関係です。多くのサービスに公開してから、関連性をフィルタリングすることは、私には無意味に思えます。

サービスの特定のサブセットにメッセージを公開したい場合に対処すべき慣行はありますか?他の人はこの問題にどのように対処しましたか?

4

3 に答える 3

0

それが本当にイベント メッセージである場合は、メッセージを発行する必要があります。サブセットに発行する必要がある場合は、問題のエンドポイントが使用する別のサブスクリプション ストアを持つことができます。

通常、受信したイベントが関連しているかどうかを判断するのはサブスクライバー次第ですが、事前に情報がある場合は、別のサブスクリプション ストアを使用できます。

私の FOSS ESB プロジェクト (http://shuttle.codeplex.com/) では、ISubscriptionManager発行されたメッセージを送信するサブスクライバー uris を決定するために、ESB に実装を提供する必要があります。やり過ぎかもしれませんが、フィルタリングを実行するロジックを含むカスタム実装を提供できます。それ以外の場合は、別のサブスクリプション ストア。

于 2012-11-12T04:53:47.087 に答える
0

特定のエンドポイント システムとの関連性を判断するロジックについて説明していただけますか? パブリッシュとサブスクライブの目的は、他のエンドポイントがサブスクライブできるシステム内のイベントがあることです。
サブスクライバーについて何かを知っているべきではありません。では、どのように関連性を判断しますか?

これらのメッセージが特定のエンドポイントに関連していない場合、なぜこれらのメッセージを購読したいのですか?

于 2012-11-09T13:40:19.007 に答える
0

デフォルトでは、エンドポイントはすべてのメッセージをサブスクライブします。特定のエンドポイントのみを特定のセットにサブスクライブする場合は、エンドポイントを DoNotAutoSubscribe() に構成する必要があります。次に、Bus.Subscribe() を使用して、エンドポイントが関心を持つ各メッセージ タイプに明示的にサブスクライブする必要があります。

于 2012-11-09T15:18:37.513 に答える