Tornado ist ein freier, nicht blockierender Webserver sowie ein einfaches Mikro-Webframework in Python. Die Entwicklung begann bei FriendFeed, nach der Übernahme von FriendFeed durch Facebook wurde Tornado unter einer Open-Source-Lizenz veröffentlicht.
Leistung Der Tornado-Webserver nutzt Wartezeiten, zum Beispiel beim Empfang von Daten, indem er sich währenddessen weiteren Aufgaben zuwendet (unter Linux mit epoll, unter BSD mit kqueue). Dieses nicht blockierende Verhalten dient dazu, eine sehr große Zahl von Anfragen gleichzeitig abzuwickeln (C10K-Problem).Dory, Michael, Adam Parrish, and Brendan Berg. Introduction to Tornado. O’Reilly Media, 2012. Messungen ergeben über 8.000 bearbeitete Anfragen pro Sekunde.
+ Performance-Vergleich mit dem AMD Opteron, 2,4 GHz und vier Kernen Server Setup Anfragen pro Sekunde Tornado Mit der geläufigen produktiven Umsetzung von 4 Tornadoinstanzen und nginx als Proxy. 8213 Tornado Standalone 3353 Django Apache/mod wsgi 2223 web.py Apache/mod_wsgi 2066 CherryPy Standalone 785
Module Tornado stellt Mixins für die Authentifizierungssysteme OpenID und OAuth zur Verfügung, mit vereinfachter Anbindung an die Authentifizierungsschnittstellen von Google, Facebook Connect und Twitter.
Die asynchrone Bearbeitung von Anfragen war von Anbeginn Kernelement von Tornado. Seit Python 3.5 werden hierfür statt eines eigenen Moduls die Python-Sprachelemente async def und await genutzt.tornadoweb.org Eine Beispielanwendung zeigt die Verwendung im FriendFeeds Chatsystem.
Daneben stehen die gängigen Komponenten eines Mikro-Webframeworks zur Verfügung:
Verwaltung von Cookies (mit Möglichkeit diese zu signieren um ihre Authentizität zu überprüfen) und Sessions Templatesystem Cross-Site-Scripting-Schutz Support für Mehrsprachigkeit
Weblinks Verwendung in Jupyter Notebooks
Einzelnachweise
Kategorie:Freies Webframework Kategorie:Python (Programmiersprache)