2016-11-25 9 views
1

私はRedisクラスタの設定方法を読み始めました。情報のほとんどのビットは、私が生成するクラスタの共通エンドポイントを見つけることができないという事実を除いて意味があります。Redisクラスタ(マスタ/スレーブ)に1つのエンドポイントを設定できますか?

私は、フェイルオーバーを緩和し、スレーブを読み取り専用にすることを検討するためにSentinelを使用することを検討しているので、ロードバランシングを管理するボックスクライアントがいくつかあると思います。 C#にはStackExchange.Redisがあります.Javaにはオープンソースのソリューションがありますか?これを管理するために別のクライアントを作成する必要があるため、複数のホストを管理するRedisのサポートはありません。

+0

Redisクラスタに共通のエンドポイントはありません。各ノードは、各ノードおよびそのノードがサービスするスロットの情報を保持する。レタスは、データを読み書きする際にリダイレクト時間を節約するためにノードとそのサービングスロットをキャッシュする素晴らしいライブラリ(スマートなJavaクライアント)です。また、自動的にリフレクタのトポロジをリフレッシュする、スレーブオプションから読み込む – Sohi

答えて

0

それは可能だが、ない(アウトオブボックス)jedisと短い答え。

説明

Jedisは、高可用性の意味でのRedisのセンチネルをサポートしていますが、スレーブは読み込みのためにそれはサポートしていません。 Jedisを使用すると、常に現在のマスターノードから読み取られます。ただし、Sentinel(SENTINEL SLAVES <master-name>)からスレーブを取得して、独自のクライアントを起動することはできます。 Jedisは現在この機能を実装するためにopen ticketを持っています。

また、またはRedissonをチェックしてください。

両方のクライアントは、read behaviorのマスタールックアップと制御を提供します。

関連する問題