JQueryプラグインを完成させています。プラグインがアクティブな間に、いくつかのアクティビティの使用状況データを収集する必要があります。このデータは、サーバーにリモートで保存する必要があります。
しかし、私はこれを行うための最良のアプローチを見つけようとしています。これは、Web分析データの収集方法と似ていると思います。現在、2つのオプションがあり、基本的な手順の概要を以下に示します。
A. AJAX-このアプローチでは:
- JQueryを使用してJQueryプラグインでAjaxリクエストを設定し、サーバーにデータをPOSTします
- POSTEDされたデータをキャプチャするようにこのサーバーをセットアップしてから、PHPを使用してデータベーステーブルに挿入します
B.ソケット-このアプローチでは:
- PubNubのようなサービスにサインアップします
- JQueryプラグインでPubNubJavascriptSDKを使用して、特定の「チャネル」にメッセージを「公開」します
- 専用サーバーまたはクラウドサーバーをセットアップし、SSHを使用してログインし、Webサーバー+データベース+ PHPをインストールして、正常に動作することを確認します
- PHPスクリプトを作成して(PubNub PHP SDKを使用して)、プラグインがメッセージを公開するpubnub「チャネル」に「サブスクライブ」し、メッセージからデータをキャプチャしてデータベーステーブルに挿入するメカニズムを設定します。
- サーバー経由でPubNubサブスクライブ機能を実行するには、長期間有効なPHPプロセスが必要なため、phpスクリプトをデーモン化するようにsupervisordを設定し、デーモンを起動します。
Aが最も簡単なオプションであるため、Aを好みます。ホストされている任意のMySQL / PHPサーバーを使用して、最小限の手間でそれを実行できます。ただし、プラグインが数千の異なるWebサイト、またはいくつかの非常に忙しいWebサイトで使用され、リモートサーバーで1秒あたり10〜100のデータベース送信が行われる可能性がある場合、このアプローチのパフォーマンスがどれほど高くなるかが心配です。
代わりに、ソケットでBアプローチを使用する方が理にかなっていますが、PubNubサブスクリプションのために、これを実行する必要があるため、コストがはるかに高くなる可能性があります。また、ユーザーごとに1つのリクエストのみを行う必要があるため、非同期接続は必要ありません。メッセージが送信されるのではなく、サーバーに直接送信される信頼できる古いHTTPリクエストと比較して、ソケットは過剰である可能性があると考えています。 PubNubを介して、そして私に)。
このようなことをやってのけるための最良の方法は本当に何ですか?!
前もって感謝します。