2

多数の同時接続を処理し、高負荷 ( C10K ) で応答するように設計された Python ベースのノンブロッキング Web サーバー環境を探しています。webapp のバックエンドとして必要です。典型的なシナリオでは、webapp クライアントは、WebSocket を使用してサーバーに対して複数の呼び出しを行います。

これまでのところ、python land で 2 つのオプションを見つけました。

もちろんpython以外にもnode.jsはありますが、できればpythonのコーディング環境が望ましいです。

上記の2つ(または私が知らない他のもの)のうち、どれをお勧めしますか? 長所と短所は何ですか?それとも、web.py のノンブロッキング フロントエンドを作成して、独自のフレームワークを展開する必要がありますか?

私の懸念は、上記のプロジェクトは両方ともコミュニティのサポートが良いように見えますが、Django、CherryPy、Pylon などほど主流ではありません。したがって、将来サポートが不十分になる可能性のある選択をすることを恐れています。

4

2 に答える 2

4

コア Twisted 開発者の 1 人として、Twisted を使用することを強くお勧めします。:)

まず、高品質のソフトウェアに取り組んでいる開発チームがいる優れたライブラリであるためです。Twisted には、 (パフォーマンスの良い) シンプルな Web サーバーからデータベース統合 (Twisted 自体に基づくスレッドベース、または個別に配布されるtxmysqlまたはtxpostgresのスレッドフリー)に至るまで、非常に幅広い機能が用意されており、他のプロトコルをサポートしています。 FTP、DNS、XMPP、SMTP、その他多数。はい、WebSockets でも

2 つ目は、Python と同様に、大規模なネットワーク サーバーに対する優れたソリューションであるためです。C10K はご存知なので、ここまで詳しく説明する必要はないと思います。Twistedは、膨大な数の接続を処理するために、大規模なシステムで繰り返し使用されてきたと言えば十分です。

第 3 に、多くのサポート オプションを提供する大規模で活発なコミュニティがあり、すぐになくなることはありません。メーリング リスト、IRC チャンネル、stackoverflow を組み合わせれば、助けを得る方法はいくらでもあります。

于 2011-05-06T11:41:33.463 に答える
3

より良いオプションがあります。Nicolas Piel による非同期 Python サーバーの非常に優れたレビューを確認してください。

于 2011-05-06T08:19:49.130 に答える