2017-02-13 9 views
1

各ハッシュにそれぞれ約500-700個のキー(ビジネスオブジェクト)が含まれる約6個のハッシュを格納する単一のredisインスタンスがあります。私は2つのスレーブを持つ1つのマスターインスタンスを持つことができるマスタスレーブアーキテクチャをセットアップする予定であり、スレーブへの読み取り要求をラウンドロビンしたいと考えています。私はこれを行う方法を探していましたが、これまでのところ私はどのようにそれを行うのか把握することができませんでした。私たちはRedisクライアントとしてJedisを使用します。スレーブへのラウンドロビン読み取り要求は可能ですか(もちろん、データが奴隷に矛盾する時間ウィンドウがあることは知っていますが、私はそれを犠牲にして喜んでいます)Redisスレーブへのラウンドロビン読み取り要求

感謝。

EDIT:私は分散アーキテクチャをセットアップしようとしています。だから、私が言うことが無知に見える場合は、私に同行してください。

+0

クライアント側でランダムにスレーブを選ぶことはできますか? –

+0

今のところ、スレーブインスタンスの数が限られているため、可能です。それは私が今使っているアプローチです。しかし、もし私が最大6〜7のスレーブインスタンスを持っていたらどうしますか?これらのインスタンスごとに接続プールとタイムアウトを維持する必要はありませんか? – Ankush92

答えて

0

管理が難しいクライアント側で実行できます。

  • HAproxyのようなロードバランサを使用して管理してください。単一障害点が発生する可能性があるので注意してください。
  • あなたがAWSを使っているのであれば、あなたはあなたが決めなければあなたは(あなたがあるためDNSキャッシュのバランスを取るために十分なクライアント・ノードを持っていると仮定して)このため

をDNSラウンドロビンを使用することができますELB

  • を使用することができますクライアント側には、サービスの場所の問題を解決するのに役立つツールがあります。

  • +0

    お返事ありがとうございます。私はちょうど疑問に思っています、これについてのベストプラクティスは何ですか?私はgoogleを検索しましたが、これを行う上で最高の/標準的なアプローチについてのコンセンサスはないようです。 – Ankush92

    +0

    私はHaProxyがRedisプロトコルをサポートしていることに気づいていませんでした。しかし、再び、TCPを使ってHaProxyに接続する必要があります。これはおそらく私が考える最良の方法です。 – Ankush92

    関連する問題