Facebookの新しいTornadoフレームワークとは何ですか?
質問
Facebookは Tornadoと呼ばれるフレームワークをオープンソース化しました。
それは何ですか?サイトで何ができますか?
FacebookはLAMP構造を使用していると思います。 LAMPスタックの下に書かれている小規模なサイトに役立ちますか?
解決
高い同時実行性と高いスケーラビリティに最適化されたWebサーバーであるように見えますが、ペイロードが小さくなっています。
10,000人の同時ユーザーを適切にサポートするように設計されています。
フレームワークはほとんどのものとは異なります 主流のWebサーバーフレームワーク(および 確かにほとんどのPythonフレームワーク) ノンブロッキングであり、 かなり速い。その理由は ノンブロッキングでepollを使用します。 何千もの同時処理 永続的な接続、つまりそれ リアルタイムのWebサービスに最適です。 Webサーバーを具体的に構築しました FriendFeedのリアルタイムを処理する 機能—のすべてのアクティブユーザー FriendFeedはオープンを維持します FriendFeedサーバーへの接続。 (スケーリングの詳細については 数千をサポートするサーバー クライアントについては、C10Kの問題をご覧ください。)
LMPスタックで実行されますが、Apacheの代わりになります。
C10K の問題を参照してください。
他のヒント
クエリをブロックする「データベース」モジュール 。ブロックの問題を最小限に抑えるためにこのサーバーの複数のインスタンスを実行し、リアルタイムの動作に関連する一部の部分でのみフレンドフィード全体に使用されていない可能性があります(HTTP接続は更新を確認するために開いたままであり、スレッド動作はこれには悪い)。
Webアプリケーションの汎用フレームワークとして使用できるとは思わない。
Tornadoは、シンプルで高速なpython WebサーバーおよびマイクロWebフレームワークです。動的なWebサイトを作成するための非常に基本的なフレームワークを提供します。それはあなたの邪魔にならないので、要求の厳しいWebアプリケーションの特定のニーズを満たすために非常に簡単に習得して拡張できます。 Tornadoを使用する最大の利点は、リクエストごとにスレッドを作成しないため、多数のリクエストに非常にうまく対応できることです。私は自分のプロジェクトの1つにそれを使用し、それを愛しています。