Tornado vs Django選型分析(編輯中)

前言

項目中開發的幾個服務一直使用tornado作爲http服務器,本人也曾提出過疑問,爲什麼是tornado,得到的答案是比較tornado,flask,django,tornado的併發性能最好,而且最爲輕量級。今天好不容易有點空餘時間,突然強迫症發作,想搞清楚tornado真的併發比django強嗎?爲什麼django的中間件的優勢就被忽略了呢?


1. Tornado vs Django

整體思路就是列舉收集到的框架優缺點,然後進行驗證,從其他帖子收集到的優缺點彙總如下:

Tornado:
優點:輕量、異步非阻塞IO處理方式、出色的抗負載能力、協程帶來優異的處理性能
缺點:沒有ORM,提供的支持和模板少,缺少後臺支持,對小型項目來說開發速度沒有django快
分析:tornado所謂的“缺點”是由它的設計理念決定的,設計上就決定它是一個小而精的http服務器+輕量級web框架,高併發處理纔是它真正擅長的

Django:
優點:大而全的框架,全自動化的管理後臺帶來超高的開發效率,豐富的組件
缺點:厚重,與他自己的ORM高耦合
分析:Django提供的方便,也意味着Django內置的ORM跟框架內的其他模塊耦合程度高。應用程序必須使用Django內置的ORM,否則就不能享受到框架內提供的種種基於其ORM的便利;理論上可以切換掉其ORM模塊,但這就相當於要把裝修完畢的房子拆除重新裝修,倒不如一開始就去毛胚房做全新的裝修。Django的賣點是超高的開發效率,其性能擴展有限


2. Django的使用及性能表現


3. Tornado的使用及性能表現


4. 選型結論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章