由於單台redis伺服器的記憶體管理能力有限,使用過大記憶體的redis又會使得伺服器的效能急劇下降,一旦伺服器發生故障將會影響更大範圍業務,而redis 3.0 beta1支援的集群功能還不適合生產環境的使用。於是為了獲取更好的redis快取效能及可用性,很多公司都研發了redis快取集群方案。現對netflix、twitter、國內的豌豆莢在快取集群方面的解決方案進行乙個彙總,以供讀者參考,具體內容如下:
dynomite是netflix對亞馬遜分布式儲存引擎dynamo的乙個開源通用實現,使用c/c++語言編寫、以**的方式實現的redis快取集群方案。dynomite不僅能夠將基於記憶體的redis和memcached打造成分布式資料庫,還支援持久化的mysql、berkeleydb、leveldb等資料庫,並具有簡單、高效、支援跨資料中心的資料複製等優點。dynomite的最終目標是提供資料庫儲存引擎不能提供的簡單、高效、跨資料中心的資料複製功能。dynomite遵循apache license 2.0開源協議發布,更多關於dynomite的資訊請檢視netflix技術部落格對dynomite的介紹。
twemproxy是乙個使用c語言編寫、以**的方式實現的、輕量級的redis**伺服器,它通過引入乙個**層,將應用程式後端的多台redis例項進行統一管理,使應用程式只需要在twemproxy上進行操作,而不用關心後面具體有多少個真實的redis或memcached例項,從而實現了基於redis和memcached的集群服務。當某個節點宕掉時,twemproxy可以自動將它從集群中剔除,而當它恢復服務時,twemproxy也會自動連線。由於是**,所以twemproxy會有微小的效能損失。根據 redis作者的測試結果,在大多數情況下,twemproxy的效能相當不錯,同直接操作redis相比,最多只有20%的效能損失。twemproxy遵循apache license 2.0開源協議發布,更多關於twemproxy的資訊請登入其在github的主頁檢視。
codis是豌豆莢使用go和c語言開發、以**的方式實現的乙個redis分布式集群解決方案,且完全相容twemproxy。twemproxy對於上一層的應用來說, 連線codis proxy(redis**服務)和連線原生的redis伺服器沒有明顯的區別,上一層應用能夠像使用單機的 redis一樣對待。codis底層會處理請求的**、不停機的資料遷移等工作, 所有底層的一切處理, 對於客戶端來說是透明的。總之,可以簡單的認為後台連線的是乙個記憶體無限大的redis服務。codis遵循mit開源協議發布,更多關於codis的資訊請登入其在github的主頁檢視。
高可用 開源的Redis快取集群方案
由於單台redis伺服器的記憶體管理能力有限,使用過大記憶體的redis又會使得伺服器的效能急劇下降,一旦伺服器發生故障將會影響更大範圍業務,而redis 3.0 beta1支援的集群功能還不適合生產環境的使用。於是為了獲取更好的redis快取效能及可用性,很多公司都研發了redis快取集群方案。現...
Redis高可用開源快取集群方案 總結自網路
1 netflix對dynamo的開源通用實現dynomite dynomite 是netflix對亞馬遜分布式儲存引擎dynamo的乙個開源通用實現,使用c c 語言編寫 以 的方式實現的redis快取集群方案。dynomite不僅能夠將基於記憶體的redis和memcached打造成分布式資料庫...
Redis 高可用高併發集群配置
高可用 24小時對外提供服務 高併發 同一時間段能處理的請求數 意思是所有的節點都要有乙個主節點 缺點 中心掛了,服務就掛了 中心處理資料的能力有限,不能把節點效能發揮到最大 特點 就是乙個路由作用 特點 去掉路由,我自己來路由 以上通俗的就是 中心化 幾個經過認證的嘉賓在 講話 所有其他人在聽。去...