Python高并發(fā)解決方案實(shí)現(xiàn)過程詳解
一.cdn加速
簡(jiǎn)單說就是把靜態(tài)資源放到別人服務(wù)器上
全稱:Content Delivery Network或Content Ddistribute Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)
基本思路:
盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母臁⒏€(wěn)定。通過在網(wǎng)絡(luò)各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò),CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。
目的:
解決因分布、帶寬、服務(wù)器性能帶來的訪問延遲問題,適用于站點(diǎn)加速、點(diǎn)播、直播等場(chǎng)景。使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度和成功率。
控制時(shí)延無疑是現(xiàn)代信息科技的重要指標(biāo),CDN的意圖就是盡可能的減少資源在轉(zhuǎn)發(fā)、傳輸、鏈路抖動(dòng)等情況下順利保障信息的連貫性。
CDN就是扮演者護(hù)航者和加速者的角色,更快準(zhǔn)狠的觸發(fā)信息和觸達(dá)每一個(gè)用戶,帶來更為極致的使用體驗(yàn)。
二.精靈圖
什么是精靈圖:
css精靈,是一種網(wǎng)頁圖片應(yīng)用處理技術(shù)。主要是指將網(wǎng)頁中需要的零星的小圖片集成到一個(gè)大的圖片中
應(yīng)用的原因:
1.減少對(duì)瀏覽器的請(qǐng)求次數(shù),避免網(wǎng)頁的延遲
2.方便小圖標(biāo)的統(tǒng)一管理
精靈圖的制作:
1.軟件:ps
2.制作方法:
新建透明圖層
添加參考線將畫布劃分,將小圖標(biāo)放入劃分好的格子中
三.后臺(tái)數(shù)據(jù)庫使用mysql+Redis
mysql是持久化存儲(chǔ),存放在磁盤里面,檢索的話,會(huì)涉及到一定的IO,為了解決這個(gè)瓶頸,于是出現(xiàn)了緩存,比如現(xiàn)在常用的 redis。首先,用戶訪問緩存,如果未命中,就去訪問mysql,之后將mysql中的數(shù)據(jù)復(fù)制到緩存中。
redis是緩存,并且是駐留在內(nèi)存中運(yùn)行的,這大大提升了高數(shù)據(jù)量web訪問的訪問速度。redis提供了大量的數(shù)據(jù)結(jié)構(gòu),比如string、list、set、hashset、sorted set這些,之后用戶的訪問就能直接從Redis的內(nèi)存中去取數(shù)據(jù)了,那內(nèi)存的讀取速度遠(yuǎn)遠(yuǎn)大于硬盤
四.數(shù)據(jù)庫的優(yōu)化
1.sql的優(yōu)化
2.索引的優(yōu)化
3.分庫分表
4.讀寫分離
五.使用緩存
例如python-django-restframework自帶的緩存
六.集群化的部署
例如:django+uwsgi+nginx
七.分布式+異步
celery:就是一個(gè)分布式異步的解決方案
https://www.jb51.net/article/192294.htm
八.語言層面
例如:在一些并發(fā)量更多的地方,該用golang語言編寫
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐2. Django程序的優(yōu)化技巧3. XML入門的常見問題(一)4. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)5. jsp EL表達(dá)式詳解6. Django ORM實(shí)現(xiàn)按天獲取數(shù)據(jù)去重求和例子7. chat.asp聊天程序的編寫方法8. Python多線程操作之互斥鎖、遞歸鎖、信號(hào)量、事件實(shí)例詳解9. idea設(shè)置自動(dòng)導(dǎo)入依賴的方法步驟10. 怎樣才能用js生成xmldom對(duì)象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?
