Python:Tornado 開篇

下一篇文章: Python:Tornado 第一章:異步及協程基礎:第一節:同步與異步I/O

Tornado是一個可擴展的非阻塞Web服務器以及相關工具的總稱。Tornado每秒能夠處理數以千計的鏈接,因此對於實時Web服務來講,Tornado是一個理想的Web框架。web

Tornado做爲FriendFeed網站的基礎框架,於2009年9月10日發佈,目前已經得到了不少社區的支持,而且在一系列不一樣的場景種獲得應用。除了FriendFeed和Facebook外,還有不少公司在轉向Tornado。segmentfault

相對其餘Python網絡框架,Tornado有以下特色:瀏覽器

  • 完備的Web框架:與Django、Flask同樣,Tornado也提供了URL路由映射、Request上下文、基於模板的頁面渲染技術等開發web應用的必備工具。
  • 是一個高效的網絡庫,性能與Twisted、Gevent等底層Python框架相媲美:提供了異步I/O支持、超時事件處理,這使得Tornado除了能夠做爲Web應用服務器框架外,還能夠用來作爬蟲應用、物聯網關、遊戲服務器等後臺應用。
  • 提供高效HTTPClient:除了服務器端框架,Tornado還提供了基於異步框架的HTTP客戶端。
  • 提供高效的內部HTTP服務器:雖然其餘Python網絡框架(Django、Flask)也提供了內部HTTP服務器,但它們的HTTP服務器因爲性能緣由只能用於測試環境。而Tornado的HTTP服務器與Tornado異步調用緊密結合,能夠直接用於生產環境。
  • 完備的WebSocket支持:WebSocket是HTML5的一種新標準,實現了瀏覽器與服務器之間的雙向實時通訊。

由於Tornado的上述特色,Tornado常被用做大型站點的接口服務框架,而不像Django那樣着眼於創建完整的大型網站。安全

另外,用戶身份認證是幾乎全部網站的必要功能,對於Tornado的開發源頭FriendFeed和Facebook這樣的社交網站尤爲如此。因此Tornado框架自己較其餘Python框架集成了最爲豐富的用戶身份驗證功能。使用該框架,開發者可以快速開發出即安全又強大的用戶身份認證機制,例如:Cookie機制、用戶身份認證、防止跨站攻擊等等。服務器

相關文章
相關標籤/搜索