點擊上方“JavaEdge”,關注公衆號
1 熱點key產生原因
1.1 消費的數據>>>生產的數據
比如電商秒殺活動、明星頭條微博
大量發佈、瀏覽的熱點新聞、熱點評論等讀多寫少場景
1.2 分片的請求量突破單點性能極限
2 熱點Key的危害
流量過於集中,突破物理網卡的極限
請求過多,緩存分片服務被打垮
緩存擊穿
3 解決方案
3.1 服務端緩存
缺陷
緩存失效,多線程構建緩存問題
緩存丟失,緩存構建問題
髒讀
3.2 使用Memcache、Redis
缺陷
內存資源浪費
髒讀
3.3 本地緩存
缺陷
需要提前獲知熱點
緩存容量有限
不一致性時間增長
熱點Key遺漏
3.4 隨機後綴
不帶後綴
不帶的後綴的有TTL帶後綴
帶後綴的沒有TTL
後端查詢DB更新緩存
查詢帶後綴返回給調用方
往期推薦
目前交流羣已有 800+人,旨在促進技術交流,可關注公衆號添加筆者微信邀請進羣
喜歡文章,點個“在看、點贊、分享”素質三連支持一下~
本文分享自微信公衆號 - JavaEdge(Java-Edge)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。