Redis高可用和負載平衡

Redis高可用和負載平衡

我使用 Redis 一段時間了,現在我們想要遷移到一個具有容錯性、高可用性和負載平衡能力的冗餘叢集。

我主要使用 Redis 來儲存一些進程狀態資訊的 PHP Web 應用程式(我為此使用 PHPRedis),我還想將它用於負載平衡叢集中的 PHP 會話儲存。

我已經有一個用於 Nginx 和 MySQL 的負載平衡(基於 pfSense)。

我看到 Redis 3 存在 Redis 集群,但我也閱讀了一些關於它尚未準備好用於生產的評論,其他評論則表明 Redis 無法進行完整的主/主集群配置。

你有什麼建議?

  • 嘗試Redis集群
  • 轉移到另一個 key=value 引擎(CouchDB?Memcached?其他?)
  • 不介意負載平衡,每次僅使用叢集的一個節點,並進行手動故障轉移,因為我不使用持久性
  • 還有其他想法嗎?

非常感謝您的幫忙!

答案1

Redis Sentinel 將允許您執行多個 Redis 執行個體並為您處理故障轉移。 http://redis.io/topics/sentinel

答案2

負載平衡 Redis 的一個明顯的解決方案是使用哨兵

據我所知,predis 目前還不支援哨兵。看:

https://github.com/nrk/predis/issues/131

一個可能的解決方案可以是Redis哨兵+HAProxy故障轉移如果你想繼續使用predis。

相關內容