2009-09-10 6 views
15

Facebook только с открытым исходным кодом a framework called Tornado.Что нового в Tornado?

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

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

+0

должен быть wiki сообщества – SilentGhost

ответ

13

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

Он был разработан, чтобы хорошо поддерживать 10000 пользователей.

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

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

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

0

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

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

0

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