【发布时间】:2010-11-27 06:34:19
【问题描述】:
Facebook 刚刚开源了a framework called Tornado。
这是什么?它对网站有什么帮助?
我相信 Facebook 使用 LAMP 结构。它对在 LAMP 堆栈下编写的小型站点有用吗?
【问题讨论】:
-
应该是社区维基
Facebook 刚刚开源了a framework called Tornado。
这是什么?它对网站有什么帮助?
我相信 Facebook 使用 LAMP 结构。它对在 LAMP 堆栈下编写的小型站点有用吗?
【问题讨论】:
Tornado 是一个简单、快速的 Python 网络服务器和一个微型网络框架。它提供了编写动态网站的非常基本的框架。它很容易学习和扩展以满足要求苛刻的 Web 应用程序的特定需求,因为它不会妨碍您。使用 Tornado 最好的部分是它不会为每个请求创建线程,因此可以很好地扩展大量请求。我将它用于我的一个项目并且很喜欢它。
【讨论】:
它有 'database' module 阻塞查询。也许他们运行该服务器的多个实例以最大程度地减少阻塞问题,并且它可能不用于整个朋友馈送,仅在与实时行为相关的某些部分中使用(我听说 HTTP 连接持续打开以检查更新,并且线程行为将是对此不好)。
我认为它不能用作任何 Web 应用程序的通用框架。
【讨论】:
它看起来像是一个针对高并发和高可扩展性而优化的网络服务器,但它是为更小的负载而设计的。
它旨在很好地支持 10,000 个并发用户。
该框架不同于大多数 主流 Web 服务器框架(和 当然是大多数 Python 框架) 因为它是非阻塞的并且 相当快。因为它是 非阻塞并使用epoll,它可以 同时处理数千个 常设连接,这意味着它 是实时网络服务的理想选择。 我们专门构建了 Web 服务器 处理 FriendFeed 的实时 功能——每个活跃用户 FriendFeed 保持开放 连接到 FriendFeed 服务器。 (有关缩放的更多信息 支持数千台服务器 客户,请参阅 C10K 问题。)
它将在 LMP 堆栈上运行,但它取代了 Apache。
查看C10K 问题。
【讨论】: