問題タブ [ajax-polling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - MySQL の更新を確認し、通知の代替を表示する
ユーザーが互いにメッセージを送信できる Java アプリケーション (JSP/サーブレット) に取り組んでいます。この目的のために、MySQL で、 、msg_id
などのsender_id
フィールドを持つ 1 つのテーブルを使用しています。 )。receiver_id
msg_content
これに対する解決策を探したところ、それを実装する可能な方法は AJAX ポーリングによるものであることがわかりました。つまり、たとえばアプリケーションは 60 秒ごとに上記のテーブルで新しい行 (user_B へのメッセージ) をチェックし、新しいメッセージが見つかった場合はメッセージをポップします。
ただし、100 人のユーザーが接続しているとします。これは、ユーザーごとに 60 秒ごとにデータベースへのリクエストが発生することを意味します。
上記の例のようなことが起こった場合、アプリケーションは本当に「重く」なりませんか? これを達成するための他の選択肢は何ですか?
javascript - サーバーポーリングの代替?
ご存知のように、実行中のアプリケーションがメイン メモリのセッションも管理する場合、サーバーがデータベースに新しく記録されたデータについてすべての Web クライアント/ブラウザに応答を送信する方法はあります。
覚えておいてください:新しいレコードの更新のためにサーバーにリクエストしたり、サーバーにポーリングしたりしていません..
サーバーが Web リクエストなしで応答できるようにします。
目的: すべての Web ブラウザーが特定の間隔ごとにサーバーに要求またはポーリングを行うわけではないため、アプリケーション メモリのパフォーマンスの問題が軽減されます。
すべてのWebクライアントから非常に多くのajax呼び出しを行うことに反対しています..
同様の経験があれば、過去からのアイデアが必要です..