Python高并發解決方案實現過程詳解
一.cdn加速
簡單說就是把靜態資源放到別人服務器上
全稱:Content Delivery Network或Content Ddistribute Network,即內容分發網絡
基本思路:
盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛擬網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。
目的:
解決因分布、帶寬、服務器性能帶來的訪問延遲問題,適用于站點加速、點播、直播等場景。使用戶可就近取得所需內容,解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度和成功率。
控制時延無疑是現代信息科技的重要指標,CDN的意圖就是盡可能的減少資源在轉發、傳輸、鏈路抖動等情況下順利保障信息的連貫性。
CDN就是扮演者護航者和加速者的角色,更快準狠的觸發信息和觸達每一個用戶,帶來更為極致的使用體驗。
二.精靈圖
什么是精靈圖:
css精靈,是一種網頁圖片應用處理技術。主要是指將網頁中需要的零星的小圖片集成到一個大的圖片中
應用的原因:
1.減少對瀏覽器的請求次數,避免網頁的延遲
2.方便小圖標的統一管理
精靈圖的制作:
1.軟件:ps
2.制作方法:
新建透明圖層
添加參考線將畫布劃分,將小圖標放入劃分好的格子中
三.后臺數據庫使用mysql+Redis
mysql是持久化存儲,存放在磁盤里面,檢索的話,會涉及到一定的IO,為了解決這個瓶頸,于是出現了緩存,比如現在常用的 redis。首先,用戶訪問緩存,如果未命中,就去訪問mysql,之后將mysql中的數據復制到緩存中。
redis是緩存,并且是駐留在內存中運行的,這大大提升了高數據量web訪問的訪問速度。redis提供了大量的數據結構,比如string、list、set、hashset、sorted set這些,之后用戶的訪問就能直接從Redis的內存中去取數據了,那內存的讀取速度遠遠大于硬盤
四.數據庫的優化
1.sql的優化
2.索引的優化
3.分庫分表
4.讀寫分離
五.使用緩存
例如python-django-restframework自帶的緩存
六.集群化的部署
例如:django+uwsgi+nginx
七.分布式+異步
celery:就是一個分布式異步的解決方案
https://www.jb51.net/article/192294.htm
八.語言層面
例如:在一些并發量更多的地方,該用golang語言編寫
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: