
私はしばらくの間 Redis を使用していますが、現在はフォールト トレラント、高可用性、負荷分散を備えた冗長クラスターに移行したいと考えています。
私は主に、プロセス ステータス情報を保存する PHP Web アプリケーションに Redis を使用しています (これには PHPRedis を使用しています)。また、負荷分散されたクラスター内の PHP セッション ストアにも Redis を使用したいと考えています。
私はすでに Nginx と MySQL (pfSense ベース) に使用するロード バランシングを持っています。
Redis 3 用の Redis Cluster が存在することは確認しましたが、まだ本番環境に対応していないというコメントや、Redis では完全なマスター/マスター クラスター構成を実行できないというコメントもいくつか読みました。
あなたのアドバイスは何ですか?
- Redis クラスターを試す
- 別のキー=値エンジンに移行する (CouchDB? Memcached? その他?)
- ロードバランシングを気にせず、一度にクラスタの1つのノードのみを使用し、永続性を使用しないため、手動でフェイルオーバーを実行します。
- 他のアイデアはありますか?
ご助力ありがとうございます!
答え1
Redis Sentinel を使用すると、複数の Redis インスタンスを実行し、フェイルオーバーを処理できます。 http://redis.io/topics/sentinel
答え2
redisの負荷分散の明らかな解決策は、歩哨。
私の知る限り、predis は現時点では Sentinel をサポートしていません。参照:
https://github.com/nrk/predis/issues/131
考えられる解決策としてはRedis センチネル + HAProxy フェイルオーバーpredis を使い続けたい場合。