2016-09-02 10 views
1

単一インスタンスのredisを実行する場合、このスレーブノードの読み取り専用レプリカを作成するために「slave of」を使用できます。Redis単一インスタンスのスレーブ(スレーブ)をクラスタまたはセンチネルに接続

Redisクラスタを使用している場合、私はデータをPartitons(マスター)に分割し、各パーティションにスレーブを作成できます。

このクラスタを単一のインスタンスとして扱い、接続されたノードのパーティションだけでなく、クラスタ内のすべてのデータのレプリカを保持するこのクラスタにスレーブのスレーブを接続できますか?

redisクラスタでは不可能な場合、これはセンチネルを使用する際に有効な解決策ですか?

現在の問題: マスターの停止時にredisインスタンスをフェイルオーバーするために、キープアライブされた「スレーブ」機能が使用されています。

しかし、キャッシュされたデータを配信するために、フェールオーバーセットアップの仮想IPに接続された多くの「スレーブのスレーブ」があります。 システムがフェールオーバーするたびに(保守上の理由などで)、接続されているすべてのスレーブは、データを新しいマスターと再同期する必要がある場合、最大30秒間のタイムアウトが発生します。

すべての可能性のあるredis configパラメータを使用していましたが、この同期化時間を短くすることはできません(フェールオーバー後に新しいマスターでは使用できないレプリケーションバックログに頼るなど)。

誰でもいいですね。

答えて

0

ここでは非常に良いドキュメント:http://redis.io/presentation/Redis_Cluster.pdfとここhttp://fr.slideshare.net/NoSQLmatters/no-sql-matters-bcn-2014(スライド#9)、またはより良いhttps://www.javacodegeeks.com/2015/09/redis-clustering.html

あなたはRedisのクラスタモードで「奴隷」をしたい場合は、すべてのノードのレプリケーションを使用する必要があります。

https://seanmcgary.com/posts/how-to-build-a-fault-tolerant-redis-cluster-with-sentinel

作者ではなく一つで、マスターあたり2つのスレーブと、Redisのクラスタと単一のマスターを使用して、彼が聞かせて:私はちょうどこの記事を読ん

よろしく、

0

まあ、マスターがダウンしたときに、レディス・センチネルがマスターにスレーブの選挙を世話します。

この設定で再生すると、Masterの選出が迅速に行われるかどうかを確認できます。それが起こっている間、クライアントはスレーブにサービスされ、ダウンタイムは発生しません。

関連する問題