国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  行業(yè)資訊 >  網(wǎng)絡(luò)安全 >  網(wǎng)站應(yīng)對(duì)突發(fā)高并發(fā)帶來(lái)的問(wèn)題及解決方案

網(wǎng)站應(yīng)對(duì)突發(fā)高并發(fā)帶來(lái)的問(wèn)題及解決方案

2020-10-03 14:53:36 1357


一、一般什么情況下網(wǎng)站會(huì)產(chǎn)生突發(fā)高并發(fā)情況?

1. 如果是自己官網(wǎng)做活動(dòng)或者有特別事件,忽然涌入大量真實(shí)用戶導(dǎo)致服務(wù)器扛不住,那只能怪你沒(méi)提前準(zhǔn)備好服務(wù)器和帶寬,所以加入一個(gè)好的CDN,做好網(wǎng)站資源緊張時(shí)候的預(yù)備措施是十分必要的。

2.如果是未知流量,可能是流量型攻擊。

 

二、帶來(lái)的問(wèn)題及解決方法:

1.高并發(fā)、服務(wù)器壓力大、性能變差。
解決方法:不把mysql部署到服務(wù)器里面,先請(qǐng)求服務(wù)器,服務(wù)器再去請(qǐng)求mysql數(shù)據(jù),可以做多機(jī)集群,大致分為三步,主從同步、讀寫分離、主備切換,一兩個(gè)數(shù)據(jù)庫(kù)肯定支持不了大量的數(shù)據(jù)訪問(wèn)請(qǐng)求的,所以要集成多個(gè)數(shù)據(jù)庫(kù),在多個(gè)數(shù)據(jù)庫(kù)里確定一個(gè)主數(shù)據(jù)庫(kù)用于插入數(shù)據(jù),然后查詢通過(guò)從數(shù)據(jù)庫(kù)查詢出來(lái)。

(1)主從同步 就是在主數(shù)據(jù)庫(kù)插入數(shù)據(jù)后把數(shù)據(jù)生成一個(gè)二進(jìn)制的文件,并授權(quán)一個(gè)賬號(hào),然后從數(shù)據(jù)庫(kù)利用賬號(hào)把二進(jìn)制文件解析到自己庫(kù)里,發(fā)送請(qǐng)求到數(shù)據(jù)庫(kù),它不知道該訪問(wèn)哪個(gè)數(shù)據(jù)庫(kù)就要進(jìn)行讀寫分離了。

(2)讀寫分離這時(shí)就要通過(guò)一個(gè)負(fù)載均衡器來(lái)分發(fā)請(qǐng)求給主從數(shù)據(jù)庫(kù),負(fù)載均衡器管理著主從數(shù)據(jù)庫(kù)的ip和端口號(hào),自己也向外暴露一個(gè)請(qǐng)求能訪問(wèn)的ip,負(fù)載均衡器的配置文件通過(guò)管理主從數(shù)據(jù)庫(kù)的ip和端口號(hào)來(lái)指定數(shù)據(jù)庫(kù)是查詢還是添加修改,這就做到了讀寫分離,如果出現(xiàn)單點(diǎn)故障就是負(fù)載均衡器掛了。

(3)主備切換最好的解決辦法是使用備用負(fù)載均衡器,主的均衡器和副的均衡器通過(guò)第三方插件keepalive來(lái)建立聯(lián)系,它們之間會(huì)一直發(fā)送心跳查詢,如果主的掛了馬上切換到備用負(fù)載均衡器。

 

2.容易產(chǎn)生單點(diǎn)故障。

解決方法:做服務(wù)器tomcat集群,使用多個(gè)tomcat來(lái)解決單點(diǎn)故障問(wèn)題,服務(wù)器集群有兩個(gè)特性。(一)可擴(kuò)展的,因?yàn)樗軇?dòng)態(tài)的添加服務(wù)器,(二)可用性高,當(dāng)一個(gè)服務(wù)器掛掉了,會(huì)提供一個(gè)正常的其它服務(wù)器來(lái)繼續(xù)提供服務(wù),集群有兩大作用,一是負(fù)載均衡,負(fù)載均衡器會(huì)根據(jù)每個(gè)服務(wù)器的性能高低合理分配任務(wù),二是容錯(cuò)恢復(fù)當(dāng)一個(gè)服務(wù)器掛掉了,會(huì)提供一個(gè)正常的其它服務(wù)器來(lái)繼續(xù)提供服務(wù),我們一般使用Nginx服務(wù)器作為分發(fā)任務(wù)請(qǐng)求的負(fù)載均衡器,然后向外暴露端口號(hào)和ip,一旦請(qǐng)求進(jìn)來(lái),Nginx會(huì)根據(jù)tomcat性能情況分發(fā)。Nginx之間也是通過(guò)Keepalive來(lái)保證狀態(tài)的。

 

3.所有的靜態(tài)資源(img、html、css、js)都交給了tomcat來(lái)處理,導(dǎo)致性能下降。

解決辦法:通過(guò)使用Redis集群管理靜態(tài)資源,當(dāng)需要緩存的靜態(tài)資源越來(lái)越多,我們就要集多臺(tái)機(jī)器做中央緩存,把查詢出來(lái)的資源寫入Redis的中央緩存里,然后通過(guò)另一個(gè)Redis讀取出來(lái),因?yàn)镽edis是鍵值對(duì)的存儲(chǔ)結(jié)構(gòu),可以通過(guò)jsessionId作為key,然后通過(guò)這個(gè)key去查詢對(duì)應(yīng)的value,key存入cookie里,再去Redis取到Value值,如果訪問(wèn)后臺(tái)先去Redis查找,查找不到再去數(shù)據(jù)庫(kù)查詢,然后把查詢結(jié)果存入Redis里。Redis做集群需要twmprox代理服務(wù)器來(lái)管理多個(gè)Redis,并且通過(guò)備用twmproxy防止單點(diǎn)故障,主備之間也是使用keepalive建立聯(lián)系,上面整個(gè)分布式集群可以通過(guò)cdn(內(nèi)容分發(fā)網(wǎng)絡(luò))部署到全國(guó)各大地區(qū),以提高訪問(wèn)速度。

 

針對(duì)以上網(wǎng)站會(huì)產(chǎn)生突發(fā)高并發(fā)情況的原因,這邊藍(lán)隊(duì)云隊(duì)長(zhǎng)建議大家可以升級(jí)服務(wù)器的配置以及購(gòu)買藍(lán)隊(duì)云CDN加速哦。具體的可以咨詢藍(lán)隊(duì)云客服:4006-75-4006.

 

 

 


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: