2016-05-30 21 views
5

現在のRedisの設定は、Jedisを使用して1つのRedisマスターに書き込みを行うJedisPoolと、1つのRedisスレーブからの読み取りに対して2番目のJedisPoolを使用して直接接続するWebアプリケーションクライアントです。スレーブはマスタを複製するように設定されています。Redis Sentinelでスレーブからの読み取りでMasterへの書き込み

クライアント上でJedisSentinelPoolを使用し、フェールオーバーをよりきれいに処理するためにSentinelを導入する段階に移行しています。私が知る限り、JedisSentinelPoolは現在選択されているマスターとしか通信していないようですので、すべての書き込み/読み取りはマスターになります。読み取りがスレーブに配信される可能性がある以前と比較します。

JedisSentinelPoolを使用して読み込みを負荷分散の目的でスレーブに配布する方法はありますか?または、これを手動でJedisPoolで実装する必要があります(前述のように)。その場合、マスターが失敗した場合、JedisSentinelPoolは古いスレーブ(新しいマスター)を指し示し、JedisPoolは古いスレーブをあまり指差しません。古いスレーブ(新しいマスター)は現在、読み込みと書き込みを処理するでしょうか?

Redis Sentinel(またはそれ以外の場合)は(フェールオーバーではなく)負荷分散機能を備えていますか?現在のところ、スレーブが1つしかないため、負荷分散にスレーブを追加することは可能ですか?もしそうなら、推奨される構成は何ですか?

ここでは、実際の体験をお待ちしております。

答えて

0

私はコードgithub sentinel-slave-jedis-pool

を参照して、スレーブをサブスクライブ、私は自分のWebアプリケーションでそれを使用し、負荷分散とスレーブから読み取るマスタからの書き込み、それはRedisのを使用することができ、新しいJedisSentinelPoolを書きます
関連する問題