0

ジオローカライズされたアプリを構築する必要があるとします。何が起こるかというと:

  • 何千人ものユーザーが同時に使用します

  • ユーザーが街中を移動している間、自分の地理的位置をアプリに送信します。次に、その場所に基づいて、アプリは一連の情報を送り返し、画面を更新し、おそらく (Google) マップも更新します。

たとえば、10000 人のユーザーが同時に接続していて、全員が移動している場合、1 秒ごとに本当に多くのリクエストがアプリに送信されます。

実装するのに最適なテクノロジについて少し調査していますが、おそらく websockets を使用するのが良い選択であることがわかりました。本当?

彼らは、websocket が次のことに適していると言います。

  • マルチプレイヤー オンライン ゲーム
  • チャット アプリケーション
  • ライブ スポーツ ティッカー
  • ソーシャル ストリームのリアルタイム更新

それらは、私が構築したい種類のアプリにも適していますか?

4

1 に答える 1

1

WebSockets は単なるトランスポート プロトコルであり、アプリケーションの開発で直面する課題を実際に解決するものではありません。

まず、Web アプリとネイティブ アプリのどちらを構築するかを決定する必要があります。

次に、同時接続の観点からインフラストラクチャのスケーラビリティを検討し、近くの場所に基づいて応答を準備する必要があります (たとえば)。

最初に答える必要があるいくつかの主要な質問:

  1. 地理データが送信される頻度。
  2. クライアント側で他の場所の更新を更新する頻度
  3. 不正行為を防ぐ方法: まったく別の場所にいるときに空港の位置情報を送信した場合 (例)。
  4. サーバー側では、位置データをどのように保存するか (mongodb にはすぐに使用できる 2D インデックスがあります)。
  5. どのように最も近いポイントを見つけ、それらを特定し、クライアントに送信しますか?
  6. 近くの場所の検索 - コストのかかる作業であり、スペースのクラスタリング、2D インデックス作成などの多くの最適化が必要です。
于 2013-09-11T14:44:04.483 に答える