
我使用 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。