Redis企業(yè)級場景

1婿失、緩存預(yù)熱

(1)問題排查
  • 請求數(shù)量較高
  • 主從之間數(shù)據(jù)吞吐量較大邀桑,數(shù)據(jù)同步操作頻度較高
(2)解決方案

緩存預(yù)熱就是在系統(tǒng)啟動時,提前將相關(guān)的緩存數(shù)據(jù)加載到 Redis 中,減輕應(yīng)用直連數(shù)據(jù)庫對數(shù)據(jù)庫造成的壓力摧阅。

預(yù)熱過程:
1帅掘、日常運營中委煤,統(tǒng)計分析出熱點數(shù)據(jù);
2修档、構(gòu)建數(shù)據(jù)留存隊列碧绞;
3、將統(tǒng)計結(jié)果中的數(shù)據(jù)吱窝,預(yù)先加載到 Redis 中進(jìn)行預(yù)熱讥邻;
4、提速數(shù)據(jù)加速過程院峡;
5兴使、使用腳本固化預(yù)熱過程;

2照激、緩存雪崩

緩存雪崩就是瞬間過期數(shù)據(jù)量過大发魄,導(dǎo)致對數(shù)據(jù)庫造成壓力

(1)場景:
1、在較短的時間內(nèi)俩垃,大量的 Key 同時過期欠母;
2欢策、此時大量的請求訪問過期數(shù)據(jù),Redis 未命中赏淌,Redis 向數(shù)據(jù)庫進(jìn)行請求查詢踩寇;
3、數(shù)據(jù)庫接收到大量的 Redis 請求六水,無法及時處理俺孙,造成 Redis 請求積壓,Redis 開始出現(xiàn)超時問題掷贾;
4睛榄、數(shù)據(jù)庫連接激增,導(dǎo)致數(shù)據(jù)庫崩潰想帅;
5场靴、Redis 服務(wù)器資源被嚴(yán)重占用,導(dǎo)致 redis 服務(wù)器崩潰港准;
6旨剥、此時客戶端請求持續(xù)增加,應(yīng)用服務(wù)器崩潰浅缸;
7轨帜、應(yīng)用服務(wù)器,Redis衩椒,數(shù)據(jù)庫全部重啟蚌父,重啟之后緩存中沒有數(shù)據(jù),面臨再次崩潰的局面
(2)解決方案
  • 緩存策略切換:LRU 與 LFU 切換毛萌;
  • 數(shù)據(jù)有效期策略調(diào)整:
    • 根據(jù)業(yè)務(wù)數(shù)據(jù)有效期進(jìn)行業(yè)務(wù)錯峰苟弛;
    • 過期數(shù)據(jù)使用隨機數(shù)過期,避免過期 Key 集中釋放阁将;
  • 超熱 數(shù)據(jù)使用永久KEY膏秫;
  • 適當(dāng)?shù)倪M(jìn)行數(shù)據(jù)加鎖
  • 更多的頁面靜態(tài)化處理;
  • 構(gòu)建多級緩存結(jié)構(gòu)冀痕,比如 Nginx 緩存荔睹,Redis 緩存狸演,應(yīng)用緩存等言蛇;
  • 對數(shù)據(jù)庫查詢進(jìn)行優(yōu)化;
  • 構(gòu)建災(zāi)難預(yù)警進(jìn)制:監(jiān)控 Redis 服務(wù)CPU宵距,內(nèi)存腊尚,查詢響應(yīng)時間,線程數(shù)等
  • 業(yè)務(wù)限流满哪、降級:短時間內(nèi)犧牲一些用戶體驗婿斥,限制一部分用戶的請求劝篷,降低請求壓力,待數(shù)據(jù)民宿、性能恢復(fù)之后逐步放開業(yè)務(wù)娇妓;

3、緩存擊穿

緩存擊穿就是單個超熱數(shù)據(jù)過期的瞬間活鹰,Redis 無法命中哈恰,大量的請求放行給了數(shù)據(jù)庫,同一時間大量的數(shù)據(jù)庫請求志群,造成數(shù)據(jù)崩潰

(1)場景
Redis 中的某個超熱 Key 過期了着绷,該Key 無法命中,放行給了數(shù)據(jù)庫查詢锌云,造成數(shù)據(jù)庫壓力激增荠医;
(2)解決方案:
  • 預(yù)先設(shè)定:預(yù)先分析,對超熱的 Key 進(jìn)行延長過期時間的處理桑涎;
  • 實時監(jiān)控:實時監(jiān)控業(yè)務(wù)流量彬向,對大流量業(yè)務(wù)進(jìn)行臨時調(diào)整;如延長數(shù)據(jù)過期時間等
  • 二級緩存:設(shè)置不同失效時間的數(shù)據(jù)石洗,保證數(shù)據(jù)不被同時淘汰幢泼;
  • 加鎖:添加分布式鎖,防止被擊穿讲衫;

4缕棵、緩存穿透

Redis 中緩存命中率降低,Redis 服務(wù)正常涉兽,類似惡意繞開緩存招驴。

(1)現(xiàn)象
1、在系統(tǒng)平穩(wěn)運行的過程枷畏,應(yīng)用服務(wù)器流量增大别厘;
2、Redis 服務(wù)中心的緩存命中率隨著時間逐步降低拥诡;但 Redis 內(nèi)存穩(wěn)定触趴,CPU占用激增;
3渴肉、數(shù)據(jù)庫服務(wù)器壓力激增冗懦,導(dǎo)致數(shù)據(jù)庫服務(wù)崩潰;
(2)場景
1仇祭、獲取的數(shù)據(jù)在數(shù)據(jù)庫中不存在披蕉,數(shù)據(jù)庫查不到,無法進(jìn)行緩存,每次請求都是直連數(shù)據(jù)庫没讲;
2眯娱、出現(xiàn)類似黑客攻擊場景,非正常的業(yè)務(wù)訪問爬凑;
(3)解決方案
  • 白名單策略
    • 提前預(yù)熱各種分類數(shù)據(jù)對應(yīng)的 bitmaps,id作為 bitmaps的 offset,相當(dāng)于設(shè)置了數(shù)據(jù)白名單徙缴。當(dāng)加載正常數(shù)據(jù)時,放行,加載異常數(shù)據(jù)時直接攔截(效率偏低)
    • 使用布隆過濾器(有關(guān)布隆過濾器的命中問題對當(dāng)前狀況可以忽略;
  • 實施監(jiān)控實時監(jiān)控
    • redist命中率(業(yè)務(wù)正常范國時,通常會有一個波動值)與null數(shù)據(jù)的占比
    • 非活動時段波動:通常檢測3-5倍,超過5倍納入重點排查對象
    • 活動時段波動:通常檢測10-50倍,超過50倍納入重點排查對象
  • Key 加密
    • 問題出現(xiàn)后,臨時啟動防災(zāi)業(yè)務(wù)key,對key進(jìn)行業(yè)務(wù)層傳輸加密服務(wù),設(shè)定校驗程序,過來的key校驗
    • 例如每天隨機分配60個加密串,挑選2到3個,混淆到頁面數(shù)據(jù)中,發(fā)現(xiàn)訪問key不滿足規(guī)則,駁回數(shù)據(jù)訪問嘁信;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娜搂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吱抚,更是在濱河造成了極大的恐慌百宇,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秘豹,死亡現(xiàn)場離奇詭異携御,居然都是意外死亡,警方通過查閱死者的電腦和手機既绕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門啄刹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凄贩,你說我怎么就攤上這事誓军。” “怎么了疲扎?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵昵时,是天一觀的道長。 經(jīng)常有香客問我椒丧,道長壹甥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任壶熏,我火速辦了婚禮句柠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棒假。我一直安慰自己溯职,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布帽哑。 她就那樣靜靜地躺著谜酒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祝拯。 梳的紋絲不亂的頭發(fā)上甚带,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音佳头,去河邊找鬼鹰贵。 笑死,一個胖子當(dāng)著我的面吹牛康嘉,可吹牛的內(nèi)容都是我干的碉输。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼亭珍,長吁一口氣:“原來是場噩夢啊……” “哼敷钾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肄梨,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤阻荒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后众羡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侨赡,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年粱侣,在試婚紗的時候發(fā)現(xiàn)自己被綠了羊壹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡齐婴,死狀恐怖油猫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柠偶,我是刑警寧澤情妖,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站诱担,受9級特大地震影響鲫售,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜该肴,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一情竹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匀哄,春花似錦秦效、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至法梯,卻和暖如春苔货,著一層夾襖步出監(jiān)牢的瞬間犀概,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工夜惭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留姻灶,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓诈茧,卻偏偏與公主長得像产喉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子敢会,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容