緩存這種能夠提升指令和數(shù)據(jù)讀取速度的特性,隨著本地計算機系統(tǒng)向分布式系統(tǒng)的擴展,在分布式計算領域中得到了廣泛的應用,稱為分布式緩存。
分布式緩存能夠處理大量的動態(tài)數(shù)據(jù),因此比較適合應用在Web 2.0時代中的社交網(wǎng)站等需要由用戶生成內(nèi)容的場景。從本地緩存擴展到分布式緩存后,關注重點從CPU、內(nèi)存、緩存之間的數(shù)據(jù)傳輸速度差異也擴展到了業(yè)務系統(tǒng)、 數(shù)據(jù)庫 、分布式緩存之間的數(shù)據(jù)傳輸速度差異。
分布式緩存由一個服務端實現(xiàn)管理和控制,有多個客戶端節(jié)點存儲數(shù)據(jù),可以進一步提高數(shù)據(jù)的讀取速率。那么我們要讀取某個數(shù)據(jù)的時候,應該選擇哪個節(jié)點呢?如果挨個節(jié)點找,那效率就太低了。因此需要根據(jù)一致性哈希算法確定數(shù)據(jù)的存儲和讀取節(jié)點。以數(shù)據(jù)D,節(jié)點總個數(shù)N為基礎,通過一致性哈希算法計算出數(shù)據(jù)D對應的哈希值(相當于門牌號),根據(jù)這個哈希值就可以找到對應的節(jié)點了。一致哈希算法的好處在于節(jié)點個數(shù)發(fā)生變化(減少或增加)時無需重新計算哈希值,保證數(shù)據(jù)儲存或讀取時可以正確、快速地找到對應的節(jié)點。
分布式緩存能夠高性能地讀取數(shù)據(jù)、能夠動態(tài)地擴展緩存節(jié)點、能夠自動發(fā)現(xiàn)和切換故障節(jié)點、能夠自動均衡數(shù)據(jù)分區(qū),而且能夠為使用者提供圖形化的管理界面,部署和維護都十分方便。
分布式緩存已經(jīng)在分布式領域、 云計算 領域得到了廣泛的應用。