1

仮想ノードを有効にしたリングに新しいノードを追加すると、いくつかのトークン範囲が割り当てられ、リング内の既存のノードから新しいノードにデータがストリーミングされます。このブートストラッププロセスが進行中の場合、新しいノードは書き込みを提供し、読み取りは行いません。 このプロセスが実行されているときに、新しいノードのトークン範囲に新しいデータを挿入して1の複製を作成する必要がある場合、これは古いノードとそのトークン範囲を持つ新しいノードの両方に書き込まれるか、ノード。新しいノードにのみ書き込まれ、新たに挿入されたデータの要求が来た場合、新しいノードがリングに完全に参加していないため、どのノードが読み取り要求を処理するかが決まります。新しいノードをCASandraリングにブートストラップすると、RFが1の場合、新しいデータが挿入されます。

+0

両方に書き込まれる。 – phact

答えて

2

カサンドラで新しいノードに参加するとき、ノードは、新しいデータが完全にストリーミングされるまで、読み取りまたは書き込み操作のリング内の新しいトークンの所有者に完全にはなりません。このプロセスでは、新しいノード(B)にデータが完全にロードされるまで、そのトークン範囲を所有している元のノード(A)にデータが書き込まれます。この時点で、ノードBは、それが新しいトークン範囲の所有者であることを示すメッセージをブロードキャストし、今後のすべてのR/W要求はAからBへと方向づけられる。

関連する問題