話說剛開始學習真的超不順,中文英文的教學都很少,官方的文件又寫的很簡略...但看著看著,突然有一天感覺就來了,就像任督二脈被打通般的,我看得懂了,我會使用了,程式寫這麼久了,我覺得對我幫助最大就是學會這種感覺。如果看懂Overview又學會使用Source code裡面的demo程式,對Tornado的掌握度就很高了!
API
Tornado真是個強大的東西,它陳列的API不多,但每一個都是在建立平台時很常見的需求:
- OAuth第三方認證 - 使用facebook、google、twitter帳號來登入自己的網站,API都很精簡了
- Python decorator tornado.web.authenticated - Sorry我不知道怎麼翻譯這個,簡單來說就是user尚未通過認證,存取到任何網頁都會被導回login頁面
- Non-blocking, asynchronous http request - facebook graph API query、backend server query
- Template - MVC架構開發,這是每個framewrok都必備的
- Security cookie - 防止cookie被篡改
- L10N, CSRF protect
IDE選擇
- Eclipse + pyDev + HTMLEditor
效能
Tornado底層採用 epoll (事件驅動),IO速度相當快。由於是single thread,所以在程式中不能做一些卡CPU太久的事情(while loop, sleep),有需要存取IO (DB, memcached) 一定要用非同步。Single thread下一支Tornado只能使用一個CPU core,對此官網上指明了用Nginx來做reverse proxy,後端運行多個tornado web server,橫向擴充性佳!
提供一些別人的Benchmark
- 纯python实现的web: tornado性能测试 - Nginx + 4 Tornado: 7000 req/s
- Benchmarking Tornado's sessions - 1 Tornado + session in memcached: 1400 req/s
- nginx vs Tornado Web vs Apache Performance Benchmark - 1 Tornado: 2000 req/s
以下是一些未整理中文參考
- Tornado官方Overview中文說明 - 對英文有障礙的可以看這個
- Tornado: 2. 源码分析 (1) - Q.yuhen
- Tornado: 2. 源码分析 (2) - Q.yuhen
- Tornado: 2. 源码分析 (3) - Q.yuhen
- Tornado: 3. 模板分析 - Q.yuhen
- python学习笔记 - logging@tornado学习记录一 - joy2everyone - ITeye技术网站
- python学习笔记 - template@tornado 学习记录一 - joy2everyone - ITeye技术网站
- python学习笔记 - secure cookie@tornado 学习记录一 - joy2everyone - ITeye技术网站
需要Session support可以參考:
- A fork of Tornado with session support - Patch過的Tornado,支援memcached及多款DB可存放session
- 玩蛇记-给tornado加上session支持
- 玩蛇记-给tornado加入Session之可跨主域-跨应用的Server Farm原理篇
Tornado的強項就是處理long polling
37E8B7813E
回覆刪除kiralık hacker
kiralık hacker
tütün dünyası
hacker bulma
hacker kirala
CD4E999A
回覆刪除Tunceli
Kilis
Çanakkale
Manisa
Bitlis
Isparta
Kastamonu
Aksaray
Giresun
9E5EF41F
回覆刪除Karaman
Adıyaman
Hakkari
Kırklareli
Siirt
Artvin
Bolu
Bitlis
Malatya