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 应用程序的特定需求,因为它不会妨碍您。使用 Tornado 最好的部分是它不会为每个请求创建线程,因此可以很好地扩展大量请求。我将它用于我的一个项目并喜欢它。