日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

理解分布式系统中的缓存架构(下)

發布時間:2025/3/21 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解分布式系统中的缓存架构(下) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

承接上一篇《理解分布式系統中的緩存架構(上)》,介紹了大型分布式系統中緩存的相關理論,常見的緩存組件以及應用場景,本文主要介紹緩存架構設計常見問題以及解決方案,業界案例。

1. 分層緩存架構設計

標題

2. 緩存帶來的復雜度問題

常見的問題主要包括

  • 數據一致性

  • 緩存穿透

  • 緩存雪崩

  • 緩存高可用

  • 緩存熱點 下面逐一介紹分析這些問題以及相應的解決方案。

數據一致性

因為緩存屬于持久化數據的一個副本,因此不可避免的會出現數據不一致問題。導致臟讀或讀不到數據的情況。數據不一致,一般是因為網絡不穩定或節點故障導致

問題出現的常見3個場景以及解決方案:

數據一致性問題場景及解決

?

緩存穿透

緩存一般是Key,value方式存在,當某一個Key不存在時會查詢數據庫,假如這個Key,一直不存在,則會頻繁的請求數據庫,對數據庫造成訪問壓力。

主要解決方案

  • 對結果為空的數據也進行緩存,當此key有數據后,清理緩存

  • 一定不存在的key,采用布隆過濾器,建立一個大的Bitmap中,查詢時通過該bitmap過濾

緩存雪崩

緩存雪崩

?

緩存高可用

緩存是否高可用,需要根據實際的場景而定,并不是所有業務都要求緩存高可用,需要結合具體業務,具體情況進行方案設計,例如臨界點是是否對后端的數據庫造成影響。

主要解決方案

  • 分布式:實現數據的海量緩存

  • 復制:實現緩存數據節點的高可用

緩存熱點

一些特別熱點的數據,高并發訪問同一份緩存數據,導致緩存服務器壓力過大。

解決:復制多份緩存副本,把請求分散到多個緩存服務器上,減輕緩存熱點導致的單臺緩存服務器壓力

3. 業界案例

案例主要參考新浪微博陳波的技術分享

技術挑戰

技術挑戰

?

Feed緩存架構圖

Feed緩存架構

?

架構特點

新浪微博把SSD應用在分布式緩存場景中,將傳統的Redis/MC + Mysql方式,擴展為 Redis/MC + SSD Cache + Mysql方式,SSD Cache作為L2緩存使用,第一降低了MC/Redis成本過高,容量小的問題,也解決了穿透DB帶來的數據庫訪問壓力

主要在數據架構、性能、儲存成本、服務化等不同方面進行了優化增強

標題 架構關注點

?

參考

從0開始學架構 —— Alibaba 李運華

Java核心技術36講—— Oracle 楊曉峰

微博Cache架構設計實踐 —— 陳波

緩存在大型分布式系統中的最佳應用 —— 侯忠好

緩存,并發更新的大坑? —— 58沈劍

分布式緩存設計—— crossoverJie

總結

以上是生活随笔為你收集整理的理解分布式系统中的缓存架构(下)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。