您好,登錄后才能下訂單哦!
這篇文章主要介紹了django適合用來開發大型網站嗎,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
分幾點來答:
1. 首先,這其實是個技術選型題。
做技術選型的時候不能單純的考慮性能,應該優先考慮業務類型,以及團隊水平。另外的話,框架只是其中一環,還有配套呢。
如果是數據驅動型,尤其是要用到關系型數據庫,那么選擇Django足以,ORM會比較省事,但是性能損耗是個很明顯的問題。不過還是看團隊,如果大家玩flask或者bottle都賊溜,那么還要什么Django,自己造就行了。
如果下游是由很多微服務構成的,Tornado處理起來會有一定優勢,用它的異步模型。
2. Django能抗多少量?
上面選型如果定下來Django了,那么剩下的就是“Where there is a will, there is a way”的問題。這個問題跟“Where there is a way, there is a will”的差別在于,并不是框架能支撐你到多大的并發量,而是你想要抗住很大的并發量,怎么優化現有框架。
當你的項目大到一定程度,瓶頸基本不在框架上。
我們用Django開發對外的產品不多,量級10w 100w的都有,但是我們上線前的準備都是朝著要抗足夠高的流量目標的(誰沒有一顆抗萬億流量的心呢),并且要能夠通過增加機器提高承載能力。當然有些業務類型沒法通過簡單的增加機器來進行擴容,那只能通過其他途徑優化單機的TPS。所以最終壓測的結果都要遠高于真實流量。百萬量級的產品,扛起來并不費力。不過還是強調一下,看業務類型!
3. 用戶體驗問題
當量級變大之后,影響用戶體驗嗎?
用戶體驗分很多方面,包括交互,設計,前端,后端。這里討論的是后端,那么就說后端。后端對用戶體驗的影響只有一個——那就是響應時間。當你的網站或者接口有一個用戶訪問時,能在短時間內返回response,那么,當用戶量達到10w時,是否能在同樣的時間內返回response呢?這是個問題。
對于后端來說,把響應時間控制在合理的范圍之內是很重要的。20ms和30ms或許差別不大,但是50ms跟100ms會有明顯差別。
怎么衡量合理的返回時間呢?
這塊還是得說點細節,比方說Django的系統,一個用戶請求進來了,需要涉及多少次Redis查詢,平均每次響應時間是多少;涉及到多少次內網或者外網的HTTP請求,平均響應時間是多少;涉及到多少次MySQL查詢,平均響應時間是多少。
所以大家面試時都喜歡問一個問題:用戶輸入網址之后,到頁面展示出來的詳細過程是什么?
當你知道了所有的細節之后,你就能知道,如果系統只涉及到Redis查詢,那應該多少ms內返回是合理的,如果你發現nginx日志里面的后端響應時間高于你的預期,那你就得排查下了。其他的也是類似。
感謝你能夠認真閱讀完這篇文章,希望小編分享django適合用來開發大型網站嗎內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。