私はそれに慣れていませんが、長いポーリングのアイデアが本当に好きです。
それについて読んだ後、私はそれを次のように実装します:
- クライアント要求サーバー (AJAX)
- サーバーは変更のために DB をポーリングしています
- 変更が認識されたとき、またはタイムアウト サーバーが応答した後
これに関する私の問題は、リクエストごとにサーバー上でスレッドが開始され、すべてのスレッドがDBをポーリングすることです。
すべての着信要求を受け入れるサーバー上で単一のスレッドを実行する方が効果的ではないでしょうか? そのようです:
- クライアント要求サーバー (AJAX)
- サーバーがリクエストをキューに追加します (応答なし)
- Worker-Thread は、キュー内のすべてのリクエストに関連する変更について DB をポーリングします
- 変更が認識されると、サーバーは対応するリクエストの結果を返します
これの利点は、DB のポーリングがはるかに少なくなり、すべての要求が 1 つのスレッドで処理される (メモリ消費量が少ない) ことです。
私の質問:
これは可能ですか / そのための実装またはフレームワークはありますか?
(私たちのプロジェクトはジェットを開始していないので、これに PHP を使用するか ASP.NET を使用するかは問題ではありません)
あなたの提案のためのTIA =)