簡介¶
Tornado 是一個 Python 網頁框架和非同步網路函式庫,最初在 FriendFeed 開發。透過使用非阻塞網路 I/O,Tornado 可以擴展到數以萬計的開啟連線,使其非常適合 長輪詢、WebSocket 和其他需要與每個使用者保持長時間連線的應用程式。
Tornado 大致可以分為三個主要組件
一個網頁框架(包含
RequestHandler
,它被子類化以建立網頁應用程式,以及各種支援類別)。HTTP 的客戶端和伺服器端實作(
HTTPServer
和AsyncHTTPClient
)。一個非同步網路函式庫,包含類別
IOLoop
和IOStream
,它們作為 HTTP 組件的基礎,也可以用於實作其他協定。
Tornado 網頁框架和 HTTP 伺服器共同為 WSGI 提供了一個完整的堆疊替代方案。雖然可以使用 Tornado HTTP 伺服器作為其他 WSGI 框架的容器(WSGIContainer
),但這種組合存在限制,若要充分利用 Tornado,您需要同時使用 Tornado 的網頁框架和 HTTP 伺服器。