CassandraのSnitchesの概要



これは、スニッチとそれがCassandraで果たす役割を定義します

スニッチとは何ですか?

スニッチは、どのデータセンターとラックに書き込みおよび読み取りを行うかを決定します。スニッチの仕事は、単に相対的なホストの近接性を判断することです。したがって、ノードにデータをコピーするための3つのオプションがある場合、どのホストを選択する必要がありますか?どのホストからのデータを優先する必要がありますか?

今すぐサービスを利用する方法

これがホストが受信したい種類の情報である場合、特定のスニッチを呼び出して、どのホストが比較的近いかを確認します。スニッチは、ネットワークトポロジに関する情報を収集します。使用されているスニッチのタイプに応じて、ユーザーはユーザーが使用しているネットワークトポロジを認識し、要求を効率的にルーティングできます。





単一のデータセンタークラスターの場合、デフォルトの単純なスニッチを使用するだけで十分です。したがって、単純なスニッチは、ラックを認識しないスニッチに他なりません。クラスタ内のラックとデータセンターについては認識していません。情報がないため、ラックがないと想定し、利用可能なネットワーク帯域幅の観点から最も近いホストを選択します。同じラックまたは同じデータセンターのノードを優先する必要があるかどうかは考慮されません。ただし、利用可能な他のレプリカはラック対応であり、さまざまな種類のスニッチがあります。

ニッチの種類

シンプルスニッチ- これには、ノードを時計回りに歩いて次に使用可能なノードに行のコピーを配置するという戦略があります。



ラック推論スニッチ –異なるラックの行のコピーをデータセンターに配置しようとします。ラックとデータセンターについて認識し、コピーを別のラックとデータセンターに配置しようとします。 IPアドレスから、データセンターのアドレスとラックを判別できます。したがって、IPアドレスは、IPアドレスの2番目の単位がデータセンターの識別に使用されるように構成する必要があります。 3番目のユニットはラックを識別します。

プロパティファイルのスニッチ –ラック推論では、IPアドレスを読み取りますが、アドレスがそのように構成されていない場合は、プロパティファイルでこの情報を定義するオプションがあります。では、この情報をプロパティファイルでどのように定義しますか?

詳細は、Cassandraトポロジプロパティのクラスター内の各ノードで定義する必要があります。このファイルはすべてのノードで同じである必要があり、ノードごとに異なるものであってはなりません。



質問がありますか?コメントセクションでそれらに言及してください。折り返しご連絡いたします。

Javaのハッシュマップとは