Redis の高可用性と負荷分散

Redis の高可用性と負荷分散

私はしばらくの間 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 を使い続けたい場合。

関連情報