簡介

Tornado 是一個 Python 網頁框架和非同步網路函式庫,最初在 FriendFeed 開發。透過使用非阻塞網路 I/O,Tornado 可以擴展到數以萬計的開啟連線,使其非常適合 長輪詢WebSocket 和其他需要與每個使用者保持長時間連線的應用程式。

Tornado 大致可以分為三個主要組件

  • 一個網頁框架(包含 RequestHandler,它被子類化以建立網頁應用程式,以及各種支援類別)。

  • HTTP 的客戶端和伺服器端實作(HTTPServerAsyncHTTPClient)。

  • 一個非同步網路函式庫,包含類別 IOLoopIOStream,它們作為 HTTP 組件的基礎,也可以用於實作其他協定。

Tornado 網頁框架和 HTTP 伺服器共同為 WSGI 提供了一個完整的堆疊替代方案。雖然可以使用 Tornado HTTP 伺服器作為其他 WSGI 框架的容器(WSGIContainer),但這種組合存在限制,若要充分利用 Tornado,您需要同時使用 Tornado 的網頁框架和 HTTP 伺服器。