ポーリング

モダンなウェブ開発では、ショートポーリングはよく実装していた。長時間かかる処理のステータスバーを表示する的なアレ。

ショートポーリング
クライアント側が一定時間ごとにサーバーに対してリクエストを送り、サーバー側での変更を確認する技術です。ロングポーリングとは異なり、定期的にリクエストを送信するため、通信量やネットワークの負荷が増加する可能性があります。しかし、サーバー側での処理負荷が低く、実装が比較的容易であるため、小規模なWebアプリケーションではよく使われます。また、ショートポーリングはリアルタイム性の高い情報更新に向いています。

最近になって、ロングポーリングが必要な場面に遭遇した。いつサーバ側の変更が来るかわからないなかでそれを検知してクライアントに通知したい。こういう要求は、基本的に要件定義がミスってると思う派ではあるが、今回ばかりはそうもいかない。

ロングポーリング
Webアプリケーションにおいて、サーバー側での変更を即座にクライアント側に通知するための技術です。一般的には、クライアント側からの定期的なリクエストではなく、サーバー側からの非同期通信によって情報を送信します。これにより、より迅速で正確な情報更新が可能となります。例えば、チャットアプリケーションや株価情報を取得するアプリケーションなどで使用されます。

で、ロングポーリングを考える。しかし、途中の経路にあるFWのタイムアウト設定がわからないし、タイムアウトがないとしてもコネクションを張り続けるには一抹の不安がある。そもそもその間ブラウザを起動しっぱなしにするのも運用的にどうなんだろ。

と、そんなことを考えていたら、そういう仕組みをもったiPaaSがあることがわかった。本体はクラウドサービスで、クライアント側(社内側)にエージェントをインストールすることで、外から中へ(サーバーからクライアントへ)通知を送ることができる。

これも要件に入れちゃって絞り込んでいきたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA