Django適合做大使用者量的系統嗎?

2022-01-10 03:34:10 字數 1474 閱讀 2744

分幾點來答:

做技術選型的時候不能單純的考慮效能,應該優先考慮業務型別,以及團隊水平。另外的話,框架只是其中一環,還有配套呢。

如果是資料驅動型,尤其是要用到關係型資料庫,那麼選擇django足以,orm會比較省事,但是效能損耗是個很明顯的問題。不過還是看團隊,如果大家玩flask或者bottle都賊溜,那麼還要什麼django,自己造就行了。(題外話,不過你得提防比較水的人破壞整體結構)

如果下游是由很多微服務構成的,tornado處理起來會有一定優勢,用它的非同步模型。(而不是用同步的方式寫**23333,要是這麼用的話,你讓flask怎麼想,讓bottle怎麼想,讓村東頭的sanic怎麼想

在這裡還是要推薦下我自己建的python開發學習群:725479218,群裡都是學python開發的,如果你正在學習python ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有python軟體開發相關的),包括我自己整理的乙份2018最新的python高階資料和高階開發教程,歡迎高階中和進想深入python的小夥伴

上面選型如果定下來django了,那麼剩下的就是「where there is a will, there is a way」的問題。這個問題跟「where there is a way, there is a will」的差別在於,並不是框架能支撐你到多大的併發量,而是你想要抗住很大的併發量,怎麼優化現有框架。

當你的專案大到一定程度,瓶頸基本不在框架上(換語言另說,有人不懂框架亂搞的另說)。

我們用django開發對外的產品不多,量級10w 100w的都有,但是我們上線前的準備都是朝著要抗足夠高的流量目標的(誰沒有一顆抗萬億流量的心呢),並且要能夠通過增加機器提高承載能力。當然有些業務型別沒法通過簡單的增加機器來進行擴容,那只能通過其他途徑優化單機的tps。所以最終壓測的結果都要遠高於真實流量。百萬量級的產品,扛起來並不費力。不過還是強調一下,看業務型別!

當量級變大之後,影響使用者體驗嗎?

使用者體驗分很多方面,包括互動,設計,前端,後端。這裡討論的是後端,那麼就說後端。後端對使用者體驗的影響只有乙個——那就是響應時間。當你的**或者介面有乙個使用者訪問時,能在短時間內返回response,那麼,當使用者量達到10w時,是否能在同樣的時間內返回response呢?這是個問題。

對於後端來說,把響應時間控制在合理的範圍之內是很重要的。20ms和30ms或許差別不大,但是50ms跟100ms會有明顯差別。

怎麼衡量合理的返回時間呢?

這塊還是得說點細節,比方說django的系統,乙個使用者請求進來了,需要涉及多少次redis查詢,平均每次響應時間是多少;涉及到多少次內網或者外網的http請求,平均響應時間是多少;涉及到多少次mysql查詢,平均響應時間是多少。

當你知道了所有的細節之後,你就能知道,如果系統只涉及到redis查詢,那應該多少ms內返回是合理的,如果你發現nginx日誌裡面的後端響應時間高於你的預期,那你就得排查下了。其他的也是類似。

所以當談論到後端上的使用者體驗時,我自己的看法就是,能多快就多快的給他資料。磨磨唧唧,妥妥拽拽的最招人煩。

golang適合做什麼 小門店適合做什麼生意

1 外賣店 如果門店的面積比較小,我們可換門經營外賣店,這樣不用在店內擺放過多的餐桌和椅子,不需要設收銀台,可以在一定程度上減少很多占地空間。除此之外,也不用清洗過多餐具,節省許多勞動力。2 奶茶 蛋糕店 奶茶或者蛋糕點占用面積也相對比較少,只需要乙個櫃檯放置材料即可,同時還需要準備乙個小冰櫃,將蛋...

golang適合做什麼 什麼樣的人適合做管理者?

我們常說乙個員工加入公司,99 是因為老闆或者品牌的美譽度,但離開公司99 是因為他的直接上司。有時候哪怕你的公司再好,文化再棒,只要你的員工的直線老闆特別不好,員工走的時候,一定會罵公司。因為直線老闆是這個員工的天和地,他對整個公司的感知都來自於他的直線老闆。所以相比較,我們更應對管理者嚴格一點,...

我適合做產品麼?

要換工作了,又一次面臨抉擇,還要繼續做開發麼?這樣的抉擇面對過好多次 第一次 本科畢業考研,面臨考管理學院研究生還是繼續計算機,後來選擇了計算機 第二次 研究生畢業找工作,面臨找管理培訓生還是研發工程師,後來選擇了研發工程師 現在再次面臨同樣的選擇 繼續做研發工程師還是非研發職位?先分析研發職位 優...