-1

私たちのプロジェクトの 1 つで、2 つの国にまたがる 4 つのリモート サーバーから膨大なリアルタイムの株式データを取得する必要があります。ここでの簡単なプロセスは、定期的にソースをチェックし、更新をデータベースに保存することです。

しかし、これらは1000社以上のリアルタイムの株式データであるため、毎秒プルする必要があり、メモリ、帯域幅の場合には良くないと思います.

どのテクノロジー/プラットフォームについて提案してください [ここでは柔軟に対応できます。PHP、Python、Java、PERL - どれでも構いません] 選択する必要があります。簡単に、より優れたパフォーマンスで実現できます。

4

4 に答える 4

2

膨大なリアルタイム データが必要な場合は、言語よりもプロトコルの方が重要になる可能性があります。ただし、考慮すべき点がいくつかあります。

  • HTTP は決して巨大なデータやリアルタイムを意図したものではないため、より適切なものを使用できる場合は、おそらく別のプロトコルを使用した方がよいでしょう。 HTTP よりも帯域幅に優しいプロトコルですが、確かに最適なプロトコルではありません。
  • 永続的なプルの設定を考えると、非同期 I/O 用のプリミティブを含み、スレッドに関して堅牢な言語を使用する方がよいでしょう。

私は個人的にErlangに行きます:データを配布するための組み込みの高速プロトコル、すべてが非同期であり、おそらく学界のこちら側で同時実行と配布の最良の実装です。

提供された言語のリストに制限がある場合は、Java を選択します。I/O は少し複雑ですが、かなり強力です。ライブラリには非常に多くのオブジェクトが含まれているため、どこかに必要なものが必ず含まれており、非同期 I/O が可能で、スレッドを適切に管理します。

とはいえ、私は言語よりもプロトコルに集中します。使用する言語に関係なく、プロトコル用のライブラリが必ず存在します。

于 2010-02-01T07:35:54.467 に答える
1

特定のテクノロジーが他のすべてのテクノロジーよりも大幅に優れている可能性は低いため、明確な選択となります。適切に設計する必要があります。使用する言語はほとんど影響しません。

また、質問で提供した情報よりも多くの情報にアクセスできなければ、あなたの質問は本当に答えられません(ここでは提供できない可能性があります)。

于 2010-02-01T07:18:44.017 に答える
1

HTTP、XMPP、AMQP、ZeroMQ など、探索できるようにいくつかの名前を投げます。実装に関しては、クラスターをサポートする Erlang でコーディングされたものが適している可能性があります。

于 2010-02-12T21:26:52.470 に答える
0

前述のように、プロトコルはテクノロジーよりも重要です。私の経験に基づくと、非常によく似たデータを短い間隔で (おそらく非標準の間隔で) 送信する可能性が高いため、少しの努力で軽量のデータ/コンテンツ スキーマを開発し、すべてを未加工のバイナリとして送信できます。データに JSON/XML を使用することは避けてください。多くのリソースと帯域幅がない限り、データが多すぎて速度が遅すぎてメリットがほとんどありません。

高速なプロトコルを選択してください (ここではあまり提案できませんが、HTTP は使用しないでください)。

于 2010-04-24T23:07:54.710 に答える