Спустя почти три года с момента открытия компанией Facebook исходных текстов, представлен релиз web-сервера Tornado 2.0. Tornado распространяется в рамках лицензии Apache и представляет собой высокопроизводительный фреймворк для создания web-серверов на языке Python, обрабатывающих запросы в неблокирующем режиме, поддерживая использование epoll и kqueue. По производительности Tornado в разы опережает такие фреймворки, как Django, web.py и CherryPy, предоставляя при этом разработчику схожие возможности.

На стандартном оборудовании Tornado способен справиться с нагрузкой в тысячи одновременных соединений, что делает его подходящим решением для создания web-сервисов на языке Python, обслуживающих запросы в реальном режиме времени. Изначально и по сей день Tornado используется для обслуживания работы сервиса FriendFeed, занимающегося агрегацией в режиме реального времени информации из различных социальных сетей, блогов и микроблогов. В Tornado имеется поддержка Django шаблонов, средств для работы с верифицированными cookie, механизмов аутентификации, локализации, возможностей для агрессивного кэширования статических компонентов страниц, встроенной защиты от CSRF-атак.

В новой версии отмечено несколько нарушающих обратную совместимость изменений, таких как включение по умолчанию автоматического экранирования шаблонов. При миграции на новую версию рекомендуется ознакомиться с примечаниями к выпуску. Среди ключевых изменений, представленных в версии 2.0, можно отметить:

  • Переработка кода c целью обеспечения поддержки Python 3.2;
  • Автоматическое экранирование по умолчанию для вывода шаблонов;
  • Использование в качестве базовой реализации AsyncHTTPClient кода simple_httpclient вместо curl_httpclient;
  • Расширение числа доступных директив в языке для оформление шаблонов;
  • Поддержка IPv6 в клиентских и серверных подсистемах;
  • Возможность вызова шаблона из другого шаблона с их работой в отдельных пространствах имён.


Источник: http://www.opennet.ru/opennews/art.shtml?num=30958