這個筆記是看Introduction.to.Tornado 一書時總結的。
Tornado適合創建可靈活擴展的社區程序、實時的分析引擎,以及REST風格的API。由Bret Taylor等人爲FriendFeed開發,後被Facebook收購。
多數的社區程序實時更新顯示新消息,狀態更改以及用戶提示,需要客戶端一直保持連接用來等待服務器的響應。使用線程模式的服務器如apache及其comet實現很容易因爲達到線程池最大值,而無法接受新的請求。
相對於使用線程模式管理緩衝池的方式,Tornado使用異步方式可以解決線程式服務器的限制。使用異步模式的服務器包括Node.js、lighttpd以及Tornado使用合作的多任務方式來平滑地擴展,以解決不斷增加的負載。
一個異步的服務器在當前請求等待數據時,暫停當前的執行,並顯式地交接控制權給正在等待狀態中的其他請求;當數據就緒可以使用回調並返回結果。
【待續】