BT

Laharsub - .NET メッセージサーバ

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2010年11月1日. 推定読書時間: 3 分 |

原文(投稿日:2010/10/26)へのリンク

Laharsub はチャット,オンラインでの共同作業,ニュースや株式取引情報の配信などのリアルタイム Web アプリケーションを対象とした,オープンソースの .NET 用 publish-subscribe (出版-購読) 型メッセージサーバだ。

Laharsub はフロントエンド = クライアント,中間層 = Web サービス,そしてバックエンド = publish-subscribe 機能とストレージ能力を持つシステム,という3層アーキテクチャで構築された publish-subscribe 型のメッセージサーバである。クライアントはブラウザを前提としているが,HTTP 要求を発行できるものならば何でもよい。中間層は,クライアントと双方向のメッセージ配信を行う WCF HTTP サービスである。そして,実際にメッセージに関連するロジックはバックエンドに実装される。

クライアントはトピック (Topic) を生成し,RESTful な API を通じてそれを送信する。他のクライアントは HTTP ロングポーリングを使用してトピックを購読 (subscribe) する。1つの要求で複数のトピックを購読することが可能だ。 Laharsub は jQuery,Silverlight,.NET 4.0 で作成されたクライアントに対して,フレーミングと多重化,ロングポーリング管理の機能を提供する。プロジェクトのコーディネータである Tomasz Janczuk 氏によれば,将来的には WebSocket を使用する予定である。

Web サービスはステートレスであるためスケールアウト性がよい,と Janczuk 氏は言う。Laharsub ではインメモリで動作するバックエンドが提供されている。これは数千のクライアントに対してスケールアウトするが,単一ノードという制限がある。よりスケール性を求める向きには "publish-subscribe 機能,メッセージストレージを提供し,Web ファームでの複数のノードにスケールアウトするカスタムバックエンド" というオプションがある。 Web サービスは Windows サービスプロセスあるいはコンソールアプリケーションとして実行される。

トピック購読は次のように行う。

GET http://laharsrv/ps/sql/subscriptions/volatile?subs[0][topicid]=14&subs[0][from]=1 HTTP/1.1
Host: laharsrv

対する応答は次のようなものだ。

HTTP/1.1 200 OK
Content-Length: 406
Content-Type: multipart/mixed; boundary=1d69db84.154e.47f7.be93.cc8b65b6efd0
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 18 May 2010 23:14:24 GMT

--1d69db84.154e.47f7.be93.cc8b65b6efd0
Content-Type: text/plain; charset=UTF-8
Content-Description: 14/929

Hello, world!

プロジェクトは CodePlex にホストされていて,新 BSD ライセンス (BSD) のもとに提供される。サーバに対するいくつかの負荷テストとパフォーマンス計測の結果,関連する説明が こちら のページで公開されている。将来的な計画 には,Window Azure や Amazon EC2 上のサーバへの配信,複数マシンへのスケールアウト機能なども含まれる。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT