Facebook的新Tornado框架是什么?

15 投票
3 回答
4776 浏览
提问于 2025-04-15 14:13

Facebook刚刚开源了一个叫做Tornado的框架。

这个框架是什么?它能帮助网站做些什么呢?

我相信Facebook使用的是LAMP架构。那这个框架对使用LAMP架构的小型网站有用吗?

3 个回答

0

Tornado 是一个简单、快速的 Python 网络服务器和微型网络框架。它提供了一个非常基础的框架,可以用来写动态网站。学习起来非常简单,而且可以根据需要进行扩展,特别适合那些要求比较高的网络应用,因为它不会给你带来太多的干扰。使用 Tornado 的最大好处是,它不会为每个请求创建一个线程,所以在处理大量请求时表现得非常好。我在我的一个项目中使用它,感觉非常不错。

0

它有一个“数据库”模块,这个模块会进行阻塞查询。也许他们会运行多个这个服务器的实例,以减少阻塞问题,可能这个模块并不是在整个friendfeed中都使用,而只是用于一些与实时行为相关的部分(我听说HTTP连接会保持打开状态以检查更新,而线程的行为在这种情况下可能不好)。

我觉得它不适合作为任何网页应用程序的通用框架。

13

这个看起来是一个针对高并发和高扩展性优化的网络服务器,但它适合处理较小的数据量。

它的设计可以很好地支持1万个同时在线的用户。

这个框架和大多数主流的网络服务器框架(尤其是大多数Python框架)不同,因为它是非阻塞的,并且速度相对较快。由于它是非阻塞的,并且使用了epoll技术,它可以处理成千上万的同时连接,这意味着它非常适合实时网络服务。我们专门为FriendFeed的实时功能构建了这个网络服务器——FriendFeed的每个活跃用户都与FriendFeed的服务器保持着一个开放的连接。 (想了解如何扩展服务器以支持成千上万的客户端,可以查看C10K问题。)

它可以在LMP堆栈上运行,但它取代了Apache。

查看C10K问题。

撰写回答