web-dev-qa-db-ja.com

Redisの高可用性と負荷分散

私はしばらくRedisを使用していますが、フォールトトレラントで可用性が高く、負荷分散されている冗長クラスターに移動したいと考えています。

私は主に、いくつかのプロセスステータス情報を格納するPHP WebアプリケーションにRedisを使用しています(このためにPHPRedisを使用しています)、負荷分散クラスターのPHPセッションストアにも使用したいと思います。

NginxとMySQL(pfSenseに基づく)で使用するロードバランシングをすでに持っています。

Redis 3にはRedisクラスターが存在することを確認しましたが、本番環境での準備ができていないというコメントや、Redisが完全なマスター/マスタークラスター構成を実行できないとのコメントもあります。

あなたのアドバイスは何ですか?

  • Redis Clusterを試す
  • 別のkey = valueエンジンに移動します(CouchDB?Memcached?その他?)
  • 永続性を使用しないため、負荷分散を気にせず、一度にクラスターの1つのノードのみを使用し、手動でフェイルオーバーします。
  • 他のアイデア?

ご助力ありがとうございます!

7
Mat

Redis Sentinelを使用すると、redisの複数のインスタンスを実行し、フェイルオーバーを処理できます。 http://redis.io/topics/sentinel

5
Jim G.

負荷分散redisの明白な解決策は sentinel を使用することです。

私が見る限り、predisは現時点ではセンチネルをサポートしていません。見る:

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

Predisを使い続けたい場合、可能な解決策は Redisセンチネル+ HAProxyフェイルオーバー です。

1
Kim