Что такое новая платформа Tornado от Facebook?
Вопрос
Facebook просто открыл фреймворк под названием Tornado . Р>
Что это? Чем это помогает сайту?
Я считаю, что Facebook использует структуру LAMP. Это полезно для небольших сайтов, которые написаны под стеком LAMP? Р>
Решение
Похоже, что это веб-сервер, оптимизированный для высокой степени параллелизма и высокой масштабируемости, но созданный для меньших полезных нагрузок.
Он был разработан для поддержки 10 000 одновременно работающих пользователей.
Структура отличается от большинства основные веб-серверы (и конечно большинство фреймворков Python) потому что это не блокирует и достаточно быстро Потому что это так неблокирует и использует epoll, может обрабатывать тысячи одновременных постоянные соединения, а это значит идеально подходит для веб-сервисов в реальном времени. Мы специально создали веб-сервер обрабатывать FriendFeed в режиме реального времени особенности & # 8212; каждый активный пользователь FriendFeed поддерживает открытый подключение к серверам FriendFeed. (Для получения дополнительной информации о масштабировании серверы для поддержки тысяч клиенты, см. проблему C10K.)
Он будет работать в стеке LMP, но заменяет Apache.
См. C10K .
Другие советы
В нем есть модуль «базы данных» с блокирующими запросами. , Возможно, они запускают несколько экземпляров этого сервера, чтобы минимизировать проблемы с блокировкой, и, возможно, он не используется для всего фид-френда, только в некоторых частях, связанных с поведением в реальном времени (я слышал, что HTTP-соединения остаются открытыми для проверки обновлений, и поведение потоков будет плохо для этого).
Я не думаю, что его можно использовать в качестве универсальной среды для любых веб-приложений.
Tornado - это простой, быстрый веб-сервер на python и микро-фреймворк. Он обеспечивает очень простую основу для написания динамического веб-сайта. Его очень легко освоить и расширить для удовлетворения специфических потребностей требовательного веб-приложения, поскольку оно не мешает вам. Лучшая часть использования Tornado заключается в том, что он не создает поток для запроса, поэтому очень хорошо масштабируется для большого количества запросов. Я использую его для одного из моих проектов и люблю его.