2009-03-07 11 views
13

私はdjango/pythonアプリケーションを強制終了せずにHTTP経由でブラウザにデータをプッシュしたいと考えています。彗星サーバーの選択と展開

私はアプリケーションとクライアントの間でリクエストをプロキシするために、彗星サーバーを使用することに決めました(しかし、私はまだそれを正しく理解していません)。

私は、次のエンジンに見てきた: は cometd ejabberd 桟橋を周回

は、誰もがいずれかの経験がこれらのサーバで作業し、それらを展開していたていますか?トピックに関するすべての洞察とリンクは素晴らしいでしょう。ありがとうございました。

答えて

5

私は、ツイストに探してお勧めします彼らのtwisted.webサーバ、およびDivmodでそれの上に行われる彗星の仕事でしょう。従来のスレッドベースまたはプロセスベースのサーバーよりもはるかに多くの同時接続を処理できます。これはまさにこのようなものに必要なものです。そして、そうです、私はTwisted for COMETを使ってシステムを構築しましたが、その前にあるより多くのWebアプリケーションのために他のものを使用しました。それは各部がうまくいくようにうまく働きます。

+0

この回答に感謝します。私は別のサーバーが正しい答えであるときにdjango/twistedをどのように組み合わせるかを考え出すために私の髪を引っ張ってきました。 – DonGar

2

私は非常に似たようなことをする必要があります。私はこれを見つけましたが、正しくはまだそれを見て時間がなかった。

django_evserverは、Djangoアプリケーションのための簡単なhttpサーバ です。これは libeventライブラリに基づいています。 django_evserverの主な利点 は、 のdjangoビューをプリエンプトする方法を提供しています。 サイトを複数の チャンクにレンダリングすることができます。それぞれは の異なるジャンゴビューで処理できます。

django_evserverを djangoアプリケーションのコメットサーバーとして使用することができます。

http://code.google.com/p/django-evserver/

+0

+1:私は本当にevserverに興味を持っています –

2

Javaを実行できる場合は、StreamHub Comet Serverをお勧めします。

まず、既存のアプリケーションを削除する必要がないため、JavaScriptインクルードは10K未満で実際には占有面積が小さくなります。私はそれを使用してユーザーの更新をプッシュし、私が構築しているソーシャルネットワーキングサイトでチャットを行います。 1日に1000回以上のヒットでテストしたところ、CPUには目立った影響はありませんでした。

第2に、展開時に、私はいくつかの例を踏襲し、CometDを使って壁に頭を打つのと比べて非常に速く立ち上がっていました。あなたが何かで立ち往生する場合は、Comet Hello WorldスタートガイドとGoogle Groupがあります。

+0

+1:StreamHubは最も使いやすく、最も成熟しています – DLauer

2

1つのオプションは、JBossのJava NIOに基づくクライアント/サーバーソケットフレームワークです。比較とディスカッションのためsee here。これは、クアッドコアサーバー上で同時に100,000個のオープンな接続を処理すると伝えられています。

2

IISを実行している場合は、.NET/IIS用の標準準拠(bayeux)コメットサーバーとクライアントであるWebSync(http://www.frozenmountain.com/websync)をチェックすることができます。追加の負荷を必要としない場合、オンデマンドバージョンはSaaSオプションです。あなたは彗星サーバー(周回)とジャンゴを組み合わせること探しているなら、私はジャンゴを統合しようとしているこのプロジェクトをチェックして、「きれい」と「現実世界」として周回

2

ここにできるだけ:http://github.com/clemesha/hotdot

このプロジェクトは、セキュリティやロギング/フィルタリング/変更中のCometメッセージなどの「現実の」問題に対処していますが、進行中の作業です。

関連する問題