Tornado的入門研究

一、爲啥要了解Tornadopython

  首先,Tornado是大神寫出來的,若是學習python的話,參照Tornado的源碼是一件很是好的事情,屬於FaceBook的開源代碼ios

  其次,Tornado就是咱們在 FriendFeed 的 Web 服務器及其經常使用工具的開源版本[1]。Tornado 和如今的主流 Web 服務器框架(包括大多數 Python 的框架)有着明顯的區別:它是非阻塞式服務器,並且速度至關快。得利於其 非阻塞的方式和對epoll的運用,Tornado 每秒能夠處理數以千計的鏈接,所以 Tornado 是實時 Web 服務的一個 理想框架。咱們開發這個 Web 服務器的主要目的就是爲了處理 FriendFeed 的實時功能 ——在 FriendFeed 的應用裏每個活動用戶都會保持着一個服務器鏈接。git

二、學習以前先看看文檔 github

http://old.sebug.net/paper/books/tornado/web

三、之後慢慢剖析Tornado源碼服務器

四、先貼上本身要研究的內容app

主要模塊

  • web - FriendFeed 使用的基礎 Web 框架,包含了 Tornado 的大多數重要的功能
  • escape - XHTML, JSON, URL 的編碼/解碼方法
  • database - 對 MySQLdb 的簡單封裝,使其更容易使用
  • template - 基於 Python 的 web 模板系統
  • httpclient - 非阻塞式 HTTP 客戶端,它被設計用來和 web 及 httpserver 協同工做
  • auth - 第三方認證的實現(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth)
  • locale - 針對本地化和翻譯的支持
  • options - 命令行和配置文件解析工具,針對服務器環境作了優化

底層模塊

  • httpserver - 服務於 web 模塊的一個很是簡單的 HTTP 服務器的實現
  • iostream - 對非阻塞式的 socket 的簡單封裝,以方便經常使用讀寫操做
  • ioloop - 核心的 I/O 循環

五、官網實例框架

import tornado.ioloop
import tornado.web

#主要是處理Http請求的
class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, world") #url分發的功能 application = tornado.web.Application([ (r"/", MainHandler), ])
#這個是服務端進程
if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start()
相關文章
相關標籤/搜索