廣義上講,凡是位於速度相差較大的兩種硬體之間,用於協調兩者資料傳輸速度差異的結構,均可稱之為快取
是一種常見的空間換時間的效能優化手段
快取區是用於彌補高速裝置和低速裝置通訊時的速度差。一塊臨時儲存資料的區域,這些資料後面會一次性傳輸到其他裝置上
系統複雜度、資料不一致、運維、記憶體有限,比較適合讀多寫少,資料帶有一點熱點屬性的業務場景
寫策略read/write through 讀穿/寫穿策略
由快取節點而非使用者來和資料庫打交道,並且寫資料庫是同步的,對效能來說比較大影響
memcached的主從機制
多副本
中間**層方案
服務端方案
快取中沒有查到資料,不得不從後端系統中查詢的情況。
高併發系統設計
高併發系統主要是為了解決在有限的資源下解決最核心的問題,並發現以後可能會出現的問題。高併發原則一般遵守如下幾個設計原則 1.無狀態 指的是應用在處理業務邏輯期間盡量減少鎖的使用 降低網路通訊延遲 無資料持久化操作等,以此來增加應用系統的效能。2.拆分 大而全的系統,可根據實際的訪問量來拆分系統,來實...
高併發 快取
開闢乙個新的資料交換區,以解決原始資料獲取代價太大的問題,讓資料得到更快的訪問。問題1 快取雪崩 問題2 資料不一致 現象 資料發生更新時,db和快取的資料不一致,多個快取副本的資料不一致。原因 更新發生異常 策略 快取更新失敗後加入重試佇列 ttl縮短 問題3 hotkey 原因 微博數百萬使用者...
高併發系統設計 限流
前面學習過的熔斷和降級都是通過暫時關閉某些非核心服務或者元件來保護核心系統的可用性。但是並不是所有的場景下都可以使用熔斷降級的策略,例如當核心服務產生比較大的影響時,總不能把核心服務進行熔斷與降級,些時一般採用限流方案來進行保護。限流指的是通過限制到達系統的併發請求數量,保證系統能夠正常響應部分使用...