3

Web で良い彗星を検索し、私の最良の選択肢は何かを尋ねた後、私はOrbitedを選択しました。問題は、Comet に関する優れたドキュメントが必要な場合に見つからないことです。Orbited をインストールしましたが、問題なく動作しているようです。

基本的に、データベースを常にチェックして、新しいデータがあるかどうかを確認したいと考えています。存在する場合は、それをクライアントにプッシュしてホームページを更新したいのですが、データベースを常にチェックし、新しい情報を Orbited にプッシュしてからクライアントにプッシュする方法を説明する適切で明確なドキュメントが見つかりません。皆さんはそれを実装しましたか?

また、Orbited は何人のユーザーを処理できますか?

何か案は?

4

3 に答える 3

3

データベースが変更されたときにメッセージ キューにメッセージを送信するデータベース トリガーを追加できます。これもここで提案されています。または、アプリだけがデータベースと通信している場合は、サブジェクト/オブザーバー パターンを介してアプリ内からこれを処理し、誰かがアクションを呼び出して DB 内の何かを変更するたびにキューに通知することができます。

オービットスケールの良し悪しはわかりません。

于 2009-12-28T08:02:00.090 に答える
0

Orbited で STOMP プロトコルを使用して、クライアントと通信し、データをプッシュします。PHP を備えた優れた STOMP クライアントを見つけて、始めてください。

サーバー側は Ruby で記述されていますが、STOMP を使用した使用例を次に示します: http://fuglyatblogging.wordpress.com/2008/10/

PHP と Apache (それを使用している場合) が、データベースの変更を監視するのに最適なスイートであるかどうかはわかりません。説明については、セクション タイトル「軌道サーバー」の下にあるこの記事をお読みください

編集: Web サーバー経由で PHP を使用する場合は、監視を開始して変更をプッシュするスクリプトに 1 つだけ要求を行う必要があります。そのスクリプトがタイムアウトまたは失敗した場合は、新しいスクリプトを開始する必要があります。少しばかげています:)より適切でクリーンな方法は、たとえば、pythonでtwistedを使用して、Webサーバーから完全に分離された監視プロセスを開始することです。

于 2009-12-28T08:43:29.397 に答える
0

ソース テーブルの最終更新時刻を追跡する参照テーブルを用意します。参照テーブルの時刻を更新するソース テーブルの更新/削除/挿入トリガーを作成します。

comet スクリプトは、時間の変更について参照テーブルをチェックし続ける必要があります。変更に気付いた場合は、更新されたソース テーブルを読み取り、データをクライアントのホームページにプッシュできます。何も変更されていない場合、MySQL はそのキャッシュから結果を提供するため、参照テーブルをループでチェックする方が高速です。

申し訳ありませんが、私は Orbited についてあまり知りません。

于 2009-12-28T08:34:25.700 に答える