Introduktion till snitches i Cassandra



Detta definierar snitches och den roll det spelar i Cassandra

Vad är en snitch?

En snitch avgör vilka datacenter och rack som ska skrivas till och läsas från. En snitchs uppgift är att helt enkelt bestämma relativ värd närhet. Därför, om en nod har tre alternativ för att kopiera data, vilken värd ska den välja? Vilken värd ska den föredra data från?

skillnaden mellan final slutligen och finalisera

Om detta är den typ av information som värden vill få, kommer den att ringa en viss snitch för att se vilken värd som är relativt närmare. Snitches samlar information om nätverkstopologi. Beroende på vilken typ av snitch som används kommer de att vara medvetna om vilken nätverkstopologi en person använder och de kan effektivt dirigera förfrågningarna.





För ett enda datacenterkluster räcker det att använda standard enkel snitch. Därför är en enkel snitch ingenting men det är ett rack omedvetet snitch. Det känner inte till rack och datacenter i ett kluster. Den har ingen information, så den antar att det inte finns några rack och den väljer närmaste värd när det gäller tillgänglig nätverksbandbredd. Det kommer inte att övervägas om det måste föredra en nod från samma rack eller samma datacenter. Men andra tillgängliga repliker är rackmedvetna och det finns olika typer av snitches.

Typer av snitches

Simple Snitch- Den har strategin att placera kopian av raden på nästa tillgängliga nod som går medurs genom noderna.



Rack inferring Snitch - Den försöker placera kopior av rader med olika rack i datacentret. Den kommer att veta om racket och datacentret och kommer att försöka placera kopior i olika rack och datacenter. Från IP-adressen kan den bestämma datacentrets adress och racket. Så IP-adressen måste konfigureras på ett sådant sätt att den andra enheten IP-adress kommer att användas för att identifiera datacentret. Den tredje enheten identifierar racket.

Fastighetsfil snitch - Vid rackavläsning kommer den att läsa IP-adressen, men om adressen inte är konfigurerad på det sättet finns det en möjlighet att definiera denna information i en fastighetsfil. Så hur definierar du denna information i en fastighetsfil?

Detaljerna måste definieras i varje nod i klustret i Cassandra-topologiska egenskaper. Den här filen ska vara densamma över alla noder och bör inte skilja sig från en nod till en annan.



Har du en fråga till oss? Nämn dem i kommentarfältet så återkommer vi till dig.