私は、イベント ドリブン アーキテクチャ (基本的な pub/sub) となるシステムの設計の初期段階にいます。実際のツールとフレームワークはまだ選択されていないため、この質問はテクノロジ固有というよりも概念的なものです (.Net で行われますが)。
この状況のほぼ完璧な類推は、金融取引システムです。市場データを常に受信しているサーバーを想像してみてください (リアルタイムまたは間隔で、問題ではありません)。サーバーは、特定の証券の価格の更新を公開します。この質問の目的のために、サーバーが「監視」して公開している証券が 1000 あるとします。
このサービスのサブスクライバーである 100 のクライアント アプリケーションがあります。各クライアントは、公開されている証券の小さなサブセットのみに関心があります。
クライアントが 1000 の証券すべてのメッセージを受信した場合、それらを解析する必要があります。これにより、ネットワーク トラフィックが増加し、クライアントの負荷が増加することは明らかです。
一方、サーバー側でメッセージ コンテンツを解析する必要があると、パブリッシュ/ルーティング時に負荷がかかるように見えます。
このタイプのアーキテクチャでは、これは通常どのように処理されますか?