Что такое новая платформа Tornado от Facebook? - PullRequest
15 голосов
/ 10 сентября 2009

Facebook просто с открытым исходным кодом фреймворк под названием Tornado .

Что это? Чем это помогает сайту?

Я считаю, что Facebook использует структуру LAMP. Это полезно для небольших сайтов, которые написаны под стеком LAMP?

Ответы [ 3 ]

13 голосов
/ 10 сентября 2009

Похоже, что это веб-сервер, оптимизированный для высокой степени параллелизма и высокой масштабируемости, но созданный для небольших полезных нагрузок.

Он был разработан для поддержки 10 000 одновременно работающих пользователей.

Каркас отличается от большинства основные веб-серверы (и конечно большинство фреймворков Python) потому что это не блокирует и достаточно быстро Потому что это так неблокирует и использует epoll, может обрабатывать тысячи одновременных постоянные соединения, а это значит идеально подходит для веб-сервисов в реальном времени. Мы специально создали веб-сервер обрабатывать FriendFeed в режиме реального времени особенности - каждый активный пользователь FriendFeed поддерживает открытый подключение к серверам FriendFeed. (Для получения дополнительной информации о масштабировании серверы для поддержки тысяч клиенты, см. проблему C10K.)

Он будет работать в стеке LMP, но заменяет Apache.

См. Проблему C10K .

0 голосов
/ 29 июня 2011

Tornado - это простой, быстрый веб-сервер на Python и микро-фреймворк. Он обеспечивает очень простую основу для написания динамического веб-сайта. Его очень легко освоить и расширить для удовлетворения специфических потребностей требовательного веб-приложения, поскольку оно не мешает вам. Лучшая часть использования Tornado заключается в том, что он не создает поток для запроса, поэтому очень хорошо масштабируется для большого количества запросов. Я использую это для одного из моих проектов и люблю его.

0 голосов
/ 13 сентября 2009

Имеет модуль 'базы данных' с блокирующими запросами. Может быть, они запускают несколько экземпляров этого сервера, чтобы минимизировать проблемы с блокировкой, и, возможно, он не используется для всего фида, только в некоторых частях, связанных с поведением в реальном времени (я слышал, что HTTP-соединения остаются открытыми для проверки обновлений, и поведение потоков будет плохо для этого).

Я не думаю, что его можно использовать в качестве универсального фреймворка для любых веб-приложений.

...