1

JQueryプラグインを完成させています。プラグインがアクティブな間に、いくつかのアクティビティの使用状況データを収集する必要があります。このデータは、サーバーにリモートで保存する必要があります。

しかし、私はこれを行うための最良のアプローチを見つけようとしています。これは、Web分析データの収集方法と似ていると思います。現在、2つのオプションがあり、基本的な手順の概要を以下に示します。

A. AJAX-このアプローチでは:

  1. JQueryを使用してJQueryプラグインでAjaxリクエストを設定し、サーバーにデータをPOSTします
  2. POSTEDされたデータをキャプチャするようにこのサーバーをセットアップしてから、PHPを使用してデータベーステーブルに挿入します

B.ソケット-このアプローチでは:

  1. PubNubのようなサービスにサインアップします
  2. JQueryプラグインでPubNubJavascriptSDKを使用して、特定の「チャネル」にメッセージを「公開」します
  3. 専用サーバーまたはクラウドサーバーをセットアップし、SSHを使用してログインし、Webサーバー+データベース+ PHPをインストールして、正常に動作することを確認します
  4. PHPスクリプトを作成して(PubNub PHP SDKを使用して)、プラグインがメッセージを公開するpubnub「チャネル」に「サブスクライブ」し、メッセージからデータをキャプチャしてデータベーステーブルに挿入するメカニズムを設定します。
  5. サーバー経由でPubNubサブスクライブ機能を実行するには、長期間有効なPHPプロセスが必要なため、phpスクリプトをデーモン化するようにsupervisordを設定し、デーモンを起動します。

Aが最も簡単なオプションであるため、Aを好みます。ホストされている任意のMySQL / PHPサーバーを使用して、最小限の手間でそれを実行できます。ただし、プラグインが数千の異なるWebサイト、またはいくつかの非常に忙しいWebサイトで使用され、リモートサーバーで1秒あたり10〜100のデータベース送信が行われる可能性がある場合、このアプローチのパフォーマンスがどれほど高くなるかが心配です。

代わりに、ソケットでBアプローチを使用する方が理にかなっていますが、PubNubサブスクリプションのために、これを実行する必要があるため、コストがはるかに高くなる可能性があります。また、ユーザーごとに1つのリクエストのみを行う必要があるため、非同期接続は必要ありません。メッセージが送信されるのではなく、サーバーに直接送信される信頼できる古いHTTPリクエストと比較して、ソケットは過剰である可能性があると考えています。 PubNubを介して、そして私に)。

このようなことをやってのけるための最良の方法は本当に何ですか?!

前もって感謝します。

4

2 に答える 2

1

確かにオプションA。さらに、PHPスクリプトへの大量のヒットが本当に心配な場合は、AppFogのようなものをチェックしてください.無料でかなりの量を提供しており、問題が発生した場合にサーバーの負荷を軽減できます.

于 2012-12-20T02:17:35.867 に答える
1

あなたは正しいです、ソケットはやり過ぎです。Google アナリティクスでさえ、HTTP リクエストを使用してデータを送信します。これらのリクエストはタイムリーである必要はありません (たとえば、ミリ秒は問題ではありません) ので、ソケットを開く理由はありません。

于 2012-12-20T17:50:46.770 に答える