またはサーバーからクライアントへのその他のタイプのリアルタイム データ フィード... サーバーからクライアントへのリアルタイム データの束について話しています。つまり、情報は毎秒更新されます。
サーバーは魔法のようにデータをクライアントにプッシュしますか?それとも、クライアントは更新のためにサーバーを継続的にポーリングする必要がありますか? また、これは通常どのプロトコルで機能しますか? (http、ソケット通信など?)
またはサーバーからクライアントへのその他のタイプのリアルタイム データ フィード... サーバーからクライアントへのリアルタイム データの束について話しています。つまり、情報は毎秒更新されます。
サーバーは魔法のようにデータをクライアントにプッシュしますか?それとも、クライアントは更新のためにサーバーを継続的にポーリングする必要がありますか? また、これは通常どのプロトコルで機能しますか? (http、ソケット通信など?)
ブローカー/銀行などが使用するサーバー側の金融アプリケーションでは、市場データ(見積もり、取引など)は、おそらくHTTPではないアプリケーションレベルのプロトコルを介してTCP経由で送信されます。もちろん、ポーリングはありません。クライアントはサーバーとのTCP接続を確立しており、サーバーはデータをクライアントにプッシュします。市場データを配布するための一般的なアプローチの1つは、FIXです。Thomson-Reutersは、そのようなデータを配布するために、メインフレームの時代にさかのぼる独自のプロトコルを数多く持っています。
HTTPをSOAP/RESTfulに使用して、ビジネスニュースのようにそれほど大量ではないデータを送信/要求できます。
UPDATE実際には、FIXは「テキスト」の性質のために大きなオーバーヘッドがあるため、場合によっては十分ではありません。ほとんどのブローカーと取引所は、バイナリ形式のプロトコル(FASTまたは独自仕様)を使用して、見積もりなどの大量のストリームを送信します。
簡単なケースでは:
while(data = recv(socket))
(疑似コード)を実行させるsend(...)
にソケット上で s になります。このパターンを HTTP 経由で実装することもできます (HTTP ソケットには実際の時間の上限はありません)。サーバーはソケットから読み取る必要さえありません。firehose にのみ書き込みを試みることができます。
通常、TCP ソケットが使用されます。メッセージは順番に到着し、ベストエフォートです。遅延がより重要で、ドロップまたは故障が問題にならない場合は、UDP を使用できます。