トップ / ブログ / 検索結果

2015年はリアルタイムWEBな年。技術編その4(前編)

リアルタイムWEB、今回はKaazing WebSocket Gateway(以下、Kaazingと表記)が持っている主要な機能の概要(前編)を紹介します。

「Emulation機能」 WebSocketが使用できない環境の場合、例えばIE9以下のブラウザではKaazingがWebSocket通信をエミュレートします。これは、クライアント側のJavaScriptアプリが一種類でWebSocket対応ブラウザでも、非対応ブラウザでも動作することを意味します。

「Auto-reconnect(自動再接続)機能」 クライアント側でKaazingとの切断(WebSocketの切断)を契機に自動で再接続処理が行われます。

「Conflation機能」 同じメッセージを複数のクライアントに配信している(言い換えると、メッセージブローカー(ActiveMQを例とする)の、あるTopicに複数のクライアントがsubscribe(購読)している)場合、回線や処理能力が(相対として)速いクライアントが遅いクライアントに影響を受けないようにする機能です。 メッセージはメッセージブローカーにpublish(発行)されるとKaazingを通してクライアントに配信されますが、連続して大量のメッセージがpublishされると、速いクライアントにはすべてのメッセージを遅滞なく配信できますが、遅いクライアントには同じタイミングで配信できません。これは遅いクライアントでは受信バッファなどが満杯になってしまうためです。 Kaazingはこの遅いクライアントには配信できる状態になるまでメッセージを保持し、さらに次のメッセージがpublishされると、配信待ちで保持していたメッセージをこの最新のメッセージで上書き(メッセージのタイプが同じ場合)し、配信する総量を少なくします。

「Delta messaging機能」 今回配信のメッセージにおいて、前回配信したメッセージとの差分のみ配信することによりネットワークトラフィックを軽減します。受信したメッセージはKaazingのクライアントライブラリが復元します。

「Last Value Cache機能」 メッセージブローカーのTopicごとにクライアントに配信したメッセージをキャッシュ(Topicごとにキャッシュ数を設定できる)しておき、新しくsubscribeしたクライアントにキャッシュしているメッセージを配信することができます。

「Bandwidth Throttling(帯域幅調整/帯域幅制限)機能」 URLごと(例えば、有料会員/無料会員)に帯域幅(通信速度)を設定することができます。

主要機能の紹介は後編に続きます。

株式会社オークネット・アイビーエス 技術統括室 加藤

Author しげじい 2015/02/16 09:55