国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
如何解決高并發(fā)下緩存被擊穿的問題
背景:
  在某些電商促消活動中需要搞活動,對某些頁面的訪問量(QPS)往往會非常高。如果直接讀數(shù)據(jù)庫,肯定DB會承受不住。那比較常見的方案就是讓大部分相同信息的請求都盡可能壓在cache上來緩解DB的壓力,從而盡可能去滿足高并發(fā)訪問的需求

在一次具體的促銷過程中,當運營同學給廣大的消費者推了一條消息:10點準時搶購一批遠低于市場價而且數(shù)量有限制促銷商品。(比如3K塊搶一臺蘋果手機之類的)。那用戶一收到這條短信就會在10點集中進入搶購頁面,結(jié)果持續(xù)幾分鐘內(nèi)很多用戶就會進入會場,發(fā)現(xiàn)頁面異常并且服務器瘋狂報警。
報警內(nèi)容:cache異常。
由于cache有問題,直接走DB,結(jié)果導致DB壓力難以支撐,整個業(yè)務集群處于雪崩

現(xiàn)在問題來了,什么我們的cache會出問題?我們應該要如何避免cache出問題呢?
來看看cache出問題的原因
原因可能有這么幾個:
1、緩存服務器自身有限流保持
緩存服務器數(shù)量 * 單機能夠承受的qps > 用戶最大的QPS  就會觸發(fā)限流保護
針對這個原因:可以做橫向擴容。加機器即可
2、用戶訪問過來cache服務器集中打到一臺上面了。大流量并沒有按預期的那樣分攤到不同的cache機器上
導致出現(xiàn)單機熱點。(熱點數(shù)據(jù))
針對這個原因:只要計算cache-hash算法不出問題,那基本上可以做到緩存的隨機分布均勻的
3、緩存里面的value過大,導致雖然QPS不高,但網(wǎng)絡流量(qps * 單個value的大?。┻€是過大,觸發(fā)了cache機器單臺機器的網(wǎng)絡流量限流;
針對這個原因:需要把大value進行精簡,部分可以放在本機內(nèi)存而不需要走遠程獲取這種方式的。
這里面有一個問題需要引點關注
1、如何避免熱點數(shù)據(jù)的問題
其實我們在做分庫分表設計的時候也要考慮這個問題,比如某些大的商家可能會占到80%的數(shù)據(jù)量,如果用商家ID進行分庫分表,必然會出現(xiàn)熱點數(shù)據(jù)問題。這跟上面提到的原因2其實是一樣的。有些熱點key都跑到一臺機器上面了。所以簡單的對key進行hash還不行。
我們在做設計之前,要先考慮一下
a. 是否存在熱點key ?
b. 如果存在熱點key ,那如何避免這些熱點key落在同一機器上面
2、要考慮緩存的包大小
如果緩存的包過大,會導致堵塞網(wǎng)絡的風險。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
memcache的一致性hash算法使用
cache中的key mutex問題解決及延伸應用
高并發(fā)解決方案
阿里巴巴分布式緩存服務Tair的熱點數(shù)據(jù)散列機制
如果20萬用戶同時訪問一個熱點緩存,如何優(yōu)化你的緩存架構(gòu)?【石杉的架構(gòu)筆記】
python實現(xiàn)LRU熱點緩存
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服