Redisの学習クラスタ記事----- CODIS

CODIS Redisのに
次にサービスを提供するためのRedis Redisのプロトコルとして使用もCODIS式Redisのクラスタリングプログラム、ミドルウェア剤、及び、クライアントが命令を受けてのRedisに転送、クライアントとRedisの間の中間エージェント
回路図
CODISがnoでありますサービス状態、各ピア・ノードである
CODISスライス原理、1
キースロットの全てがCODIS 1024(SOLT)に分割されているデフォルトでは、CODISクライアントで実行される特定の操作キー上を通過しますキースロットを見つけ、各スロットが一意のRedis以下複数のインスタンスにマッピングされる
式:
ハッシュ= CRC32(command.key)
ハッシュ%= 1024 slot_index
のRedisの=スロット[slot_index] .redis
redis.do(コマンド)
デフォルト1024個のスロット状況クラスタに応じて提供することが可能であり、
図2に示すように、異なるインスタンスCODIS同期スロット
ダッシュボードCODISノードのみ永続スロットの飼育係を使用して、メモリに記憶されている場合は、各スロットの情報に設けられ、かつスロット間の関係を観察し、修正するために
スロット同期図
3、拡張を
使用すると、Redisの例を追加したい場合はCODISスロットのみRedisの例に該当する場合、スロットは調整する必要があります これは、スロットの半分が新しいRedisのに対応するように、ヨーヨー右キー移行選択必要
CODIS SLOTSSCANが移行するすべてのキースロットを走査するための指示を提供した後、移行、キーに対応するスロットを見つける方法を
アクセス・タイム・スロットを移行する必要がある場合はすぐに移動し、その後、クライアントは新しいRedisのインスタンスにアクセスするようになる、1つのキーで、最初は完全に古いインスタンスから削除した後に移行されます
4、自動等化
CODISは、システム内でより多くのだろう空きスロットはそれぞれのRedisのインスタンスの数に対応するときにアンバランスが自動的に移行された場合、観察されなかっ
5、CODISコスト
異なるインスタンスに散乱によるRedisのキー、したがってトランザクションをサポートしていない、名前変更操作キーもはや2つですRedisの例では、完了できない
によるクラスタの存在のために移動するので、大きすぎる値(1メガバイト以上ではない)であってはならない、カトン移行を防ぐ発生
ネットワーク上の単一のRedis大きなオーバーヘッドよりも、中間層として増加プロキシを
図6に示すように、プロセスのMGET指示操作
バルクMGETキーを複数取得する(Redisのは、複数のインスタンスに分散されてもよい)、キー戦略は、次にコールMGETを回し、例えば割り当てられたパケットに応じて破壊することであるCODIS

おすすめ

転載: blog.csdn.net/alvin_666/article/details/89737671