あなたが機能def check_create_parameters
で
のRedis-trib.rb
ではほとんどの作業を行う場合は、デフォルトの設定を変更することができますまず第一に。 1つのマスターレプリカと1つのスレーブレプリカを設定できます。
この構成の目的は、フォールトトレランスのためです。スレーブは、読み込み(READONLY)にも使用できます。 3つのマスターでは、ハッシュ・スロットが均等に分散され、再分散可能なロード・バランシング・アルゴリズムと実際の鍵が使用されます。ノード間のキーをdistirbutes可能なアルゴリズムのステップは、(私がテストし、それが期待通りに動作します)、次のとおりです。
- はマスター
- 人の観衆は、彼らが
- を保持するキーの総数を取得して下さい各マスター・ノード・ストア各マスターキーの 分布は(クラスタの合計鍵/マスタの数 )
- をバランスするように保持しなければならないホスト名、ポート、および
- キーを計算するキーの数のためにどの検索マスターノードそれぞれのキーとそれらが
- は、それらが受信またはキーを配っさ かどうかに応じて、ソースまたはターゲットノードとしてマスターを特徴付ける取る/与えなければならないキーの総量 を取るか、または与える必要があり
- スタート標的とするために、ソースノードから移行ノード、最初 hashslotsと、関連するキーとすべての マスターキー
の同じ量にこのアルゴリズムを持つまで反復は、応答時間を最小化するのに役立ちます。意味:
3つのマスターを使用すると、応答時間を最小限に抑えることができます。 1つのマスターを持つ構成があり、このマスターが例えば30000#キーを保持している場合、1000キーを一度に取得する応答時間は、15000をそれぞれ保持する2マスターの構成から>です。
master1にキーを作成した場合、master2からそのキーにアクセス(読み取り)しようとすると、MOVEDエラーが発生します。したがって、解決策は、ハッシュ・スロットを対応するノードにマップするスマート・クライアントを作成することです。したがって、master2が正しいマスターにリクエストをリダイレクトする場合にのみ、master2からキーを削除することができます。
希望に役立ちます。
上記の情報を提供することはできますか? – quintindk
をご覧ください:https://www.researchgate.net/publication/309732099_Load_Balancing_in_In-Memory_Key-Value_Stores_for_Response_Time_Minimization – Antonis