Python高并發(fā)解決方案實(shí)現(xiàn)過(guò)程詳解
一.cdn加速
簡(jiǎn)單說(shuō)就是把靜態(tài)資源放到別人服務(wù)器上
全稱(chēng):Content Delivery Network或Content Ddistribute Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)
基本思路:
盡可能避開(kāi)互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母臁⒏€(wěn)定。通過(guò)在網(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ù)載狀況以及到用戶(hù)的距離和響應(yīng)時(shí)間等綜合信息將用戶(hù)的請(qǐng)求重新導(dǎo)向離用戶(hù)最近的服務(wù)節(jié)點(diǎn)上。
目的:
解決因分布、帶寬、服務(wù)器性能帶來(lái)的訪問(wèn)延遲問(wèn)題,適用于站點(diǎn)加速、點(diǎn)播、直播等場(chǎng)景。使用戶(hù)可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶(hù)訪問(wèn)網(wǎng)站的響應(yīng)速度和成功率。
控制時(shí)延無(wú)疑是現(xiàn)代信息科技的重要指標(biāo),CDN的意圖就是盡可能的減少資源在轉(zhuǎn)發(fā)、傳輸、鏈路抖動(dòng)等情況下順利保障信息的連貫性。
CDN就是扮演者護(hù)航者和加速者的角色,更快準(zhǔn)狠的觸發(fā)信息和觸達(dá)每一個(gè)用戶(hù),帶來(lái)更為極致的使用體驗(yàn)。
二.精靈圖
什么是精靈圖:
css精靈,是一種網(wǎng)頁(yè)圖片應(yīng)用處理技術(shù)。主要是指將網(wǎng)頁(yè)中需要的零星的小圖片集成到一個(gè)大的圖片中
應(yīng)用的原因:
1.減少對(duì)瀏覽器的請(qǐng)求次數(shù),避免網(wǎng)頁(yè)的延遲
2.方便小圖標(biāo)的統(tǒng)一管理
精靈圖的制作:
1.軟件:ps
2.制作方法:
新建透明圖層
添加參考線將畫(huà)布劃分,將小圖標(biāo)放入劃分好的格子中
三.后臺(tái)數(shù)據(jù)庫(kù)使用mysql+Redis
mysql是持久化存儲(chǔ),存放在磁盤(pán)里面,檢索的話(huà),會(huì)涉及到一定的IO,為了解決這個(gè)瓶頸,于是出現(xiàn)了緩存,比如現(xiàn)在常用的 redis。首先,用戶(hù)訪問(wèn)緩存,如果未命中,就去訪問(wèn)mysql,之后將mysql中的數(shù)據(jù)復(fù)制到緩存中。
redis是緩存,并且是駐留在內(nèi)存中運(yùn)行的,這大大提升了高數(shù)據(jù)量web訪問(wèn)的訪問(wèn)速度。redis提供了大量的數(shù)據(jù)結(jié)構(gòu),比如string、list、set、hashset、sorted set這些,之后用戶(hù)的訪問(wèn)就能直接從Redis的內(nèi)存中去取數(shù)據(jù)了,那內(nèi)存的讀取速度遠(yuǎn)遠(yuǎn)大于硬盤(pán)
四.數(shù)據(jù)庫(kù)的優(yōu)化
1.sql的優(yōu)化
2.索引的優(yōu)化
3.分庫(kù)分表
4.讀寫(xiě)分離
五.使用緩存
例如python-django-restframework自帶的緩存
六.集群化的部署
例如:django+uwsgi+nginx
七.分布式+異步
celery:就是一個(gè)分布式異步的解決方案
https://www.jb51.net/article/192294.htm
八.語(yǔ)言層面
例如:在一些并發(fā)量更多的地方,該用golang語(yǔ)言編寫(xiě)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 在Android中使用WebSocket實(shí)現(xiàn)消息通信的方法詳解2. 淺談python出錯(cuò)時(shí)traceback的解讀3. Python importlib動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)代碼4. python matplotlib:plt.scatter() 大小和顏色參數(shù)詳解5. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無(wú)效問(wèn)題6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. Nginx+php配置文件及原理解析8. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法9. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析
