django -geventまたはtornadio2で使用するのに最適なsocket.ioサーバーは何ですか?
質問
クライアント側のbackbone.jsとsocket.ioを使用して、サーバー側にdjangoを使用してWebAppに取り組んでいます。データが変更されたら(チャットアプリのように)サーバーから「プッシュ」したいと思います。 PythonでSocket.ioの2つの実装に出会いました。
- django-socketio GeventとGevent-Socketioに基づいています
- 使用する竜巻ベースの統合 Torandio2 そのような 竜巻とディジャンゴ と Django-Tornadio
GeventとTornadoの両方があります とても良いパフォーマンス, 、だから私は他の非同期接続フレームワークに興味がありません。他の唯一の要件は、接続にSSLの使用です - プレーンテキスト送信はありません。
それでは、これら2つのアプローチの間に、実装が最も簡単なのでしょうか? GeventのためにDjango-Socketioがどのようにそれをするかと同様に、Tornadio2の優れたサブスクリプションベースのフレームワークはありますか?
私が出会った別のオプションはです Django-Serverpush, 、Tornadio2にも基づいています。他のTornadio2アプリよりもDjangoとの統合をよりよく統合しますが、実装には生産対応になる前に、実装にはいくらかの改善が必要です。
解決
この回答を書いている時点で、Django-Socketioはまだ最新のsocket.ioで動作するように完全にアップグレードされていません。
一方、Tornado/Tornadio2は十分に維持されており、いくつかのカスタム拡張機能により、非常にうまく実行できました。製品を発売した後、修正をオープンソースにするために時間を費やすことを望んでいます。それまでは、これを実行する方法についての質問に喜んでお答えします。
他のヒント
正直なところ、彼らはかなり似ていると思います。これはもっと意見です。パフォーマンスのために、Geventは私が読んだものに基づいてより多くのパフォーマンスを持っていると思いますが、どのパフォーマンスが最も高いかを調べるために独自のテストを行う必要があります。