Memcache 分布式高可用集群介紹

2022-05-06 10:15:09 字數 980 閱讀 5240

分布式快取需考慮如下三點:

1、快取本身的水平線性擴充套件的問題。

2、快取大病罰下的本身效能問題。

3、避免快取的單點鼓掌問題。

分布式快取存在的問題:

1、記憶體本身的管理問題。記憶體的分配,管理和**機制。

2、分布式管理和分布式演算法。

3、快取鍵值管理和路由。

memcached在實現分布集群部署時,memcached服務端的之間是沒有通訊的,服務端是偽分布式,實現分布式是由客戶端實現的,客戶端實現了分布式演算法把資料儲存到不同的memcached 服務端。

currserver = serverlist[ hash(key) % sizeof(serverlist) ]

餘數計算的方法簡單,資料的分散性也相當優秀,但也有其缺點。那就是當新增或移除伺服器時,快取重組的代價相當巨大。新增伺服器後,餘數就會產生巨變,這樣就無法獲取與儲存時相同的伺服器,從而影響快取的命中。

原理,首先求出memcached 伺服器(節點)的雜湊值,並將其配置到0~232的圓(continuum)上。然後用同樣的方法求出儲存資料的鍵的雜湊值,並對映到圓上。然後從資料對映到的位置開始順時針查詢,將資料儲存到找到的第乙個伺服器上。如果超過232 仍然找不到伺服器,就會儲存到第一台memcached 。 

memcached對容錯不做處理的,也就是說當memcached 服務端掛掉或者 memcached 重啟復活,由於memcached重啟後無資料,對高併發的大型系統中,是沒辦法接受的,我們在集群的情況下,要做到負載均衡和容錯 ,這種情況下, 伺服器端掛掉,負載就不那麼均衡,快取資料也會丟失 ,重新對資料庫進行操作,加大的系統的效能, 資料丟失容錯也沒做得那麼好。 memcache自身並沒有實現集群功能,如果想用memcahce實現集群需要借助第三方軟體或者自己設計程式設計實現,如repcached、memagent、 memcached-ha等。

Memcache 分布式高可用集群介紹

分布式快取出於如下考慮,首先是快取本身的水平線性擴充套件問題,其次是快取大併發下的本身的效能問題,再次避免快取的單點故障問題 多副本和副本一致性 分布式快取的核心技術包括首先是記憶體本身的管理問題,包括了記憶體的分配,管理和 機制。其次是分布式管理和分布式演算法,其次是快取鍵值管理和路由。一 常用分...

Memcache 分布式高可用集群介紹

分布式快取需考慮如下三點 1 快取本身的水平線性擴充套件的問題。2 快取大病罰下的本身效能問題。3 避免快取的單點鼓掌問題。分布式快取存在的問題 1 記憶體本身的管理問題。記憶體的分配,管理和 機制。2 分布式管理和分布式演算法。3 快取鍵值管理和路由。memcached在實現分布集群部署時,mem...

分布式架構 高可用

本文將通過自建架構圖 進行講解 如圖採用了分布式 微服務架構,將傳統系統進行重構後的效果 微服務架構體系對多個層面進行探索 分析和優化,本文不在詳細闡述 微服務 分布式架構根據公司 企業需求定製化構造而來,目的細化模組間的呼叫,鏈路更加清晰明了,不同環節高可用方案不同,優化手段也存在差異。分析思考 ...