2

プライマリ フィードから欠落しているデータを回復するために、取引所から回復フィードを受信して​​います。

交換は、データが必要な場合にのみ回復フィードをリッスンし、必要なデータを回復したらマルチキャストを終了することを強く推奨しています.

私の質問は、asio を使用していて、必要のないときに NIC から読み取っていない場合、何が害になるのでしょうか? メッセージには連番があるので、カードに「残った」古いメッセージを誤って処理することはありません。

これは本当にアプリケーションに悪影響を及ぼしますか?

4

3 に答える 3

5

マシンに損害を与えるほどアプリケーションに損害を与える可能性はありません.nicはまだマルチキャストグループに構成されているため、ソフトウェアがメッセージを無視して破棄する前に、それらのメッセージをリッスンして渡します. これは、ネットワーク スタックとカーネルが実行する余分な作業であり、そのため、アプリだけでなく、マシン全体に多くの余分な負荷がかかります。

于 2008-09-16T14:57:58.897 に答える
4

回復フィードをリッスンすると、ネットワーク レベルに影響を与える可能性もあります。pjz が述べたように、NIC と IP スタックで処理するフレーム/パケットが増えます。さらに、使用可能な帯域幅の多くが、アプリケーションで使用されていないデータによって使用されています。リンクに輻輳がある場合、これはフレームのドロップにつながる可能性があります。輻輳が発生する可能性があるかどうかは、サーバーに接続されているのが 100Mb か 1Gb か、ホストが送受信している他のトラフィックの量などによって異なります。

もう 1 つの潜在的な懸念は、他のホストへの影響です。ホストが接続されているスイッチでIGMP スヌーピングが有効になっていない場合、同じ VLAN 上のすべてのホストが追加のマルチキャスト トラフィックを受信するため、上記と同じ問題が発生する可能性があります。

ネットワークを管理しているネットワーク チームがいる場合は、チームからの推奨事項を探す価値がありますか? 冗長フィードを購読する必要があると思われる場合は、ネットワークに既にどのレベルの冗長性が存在し、プライマリ フィードのメッセージが失われる可能性がどの程度あるかを調べるのが賢明です。

于 2008-09-16T18:51:59.597 に答える
1

muz さんのコメントに追加...

これによってシステムに違いが生じる可能性は低いですが、マルチキャスト メンバーシップの維持に関連するオーバーヘッドがあることに注意してください (IGMP を使用していると仮定すると、「マルチキャストからの離脱」に関する制限を考慮すると、これはおそらく合理的です)。 )

IGMP では、定期的にマルチキャスト グループ メンバーシップを送信および処理する必要があります。そして (muz のコメントでほのめかされているように) あなたとマルチキャスト ソースの間に igmp スヌーピングが可能なスイッチまたはルーターがある場合、それらは特定のネットワークのマルチキャストを無効にすることができます。

于 2008-09-20T11:27:36.177 に答える