Introduksjon til snitches i Cassandra



Dette definerer snitches og rollen den spiller i Cassandra

Hva er en snitch?

En snitch bestemmer hvilke datasentre og stativer som skal skrives til og leses fra. Jobben til en snitch er å bare bestemme relativ vert nærhet. Derfor, hvis en node har tre alternativer for å kopiere dataene, hvilken vert skal den velge? Hvilken vert skal den foretrekke dataene fra?

Hvis dette er den typen informasjon verten ønsker å motta, vil den ringe en bestemt snitch for å se hvilken vert som er relativt nærmere. Snitches samler informasjon om nettverkstopologi. Avhengig av hvilken type snitch som brukes, vil de være oppmerksomme på nettverkstopologien en person bruker, og de kan effektivt rute forespørslene.





For en enkelt datasenterklynge er bruk av standard enkel snitch tilstrekkelig. Derfor er en enkel snitch ingenting, men det er en rack uvitende snitch. Den vet ikke om stativer og datasentre i en klynge. Den har ingen informasjon, så den antar at det ikke er noen stativer, og den vil velge nærmeste vert når det gjelder tilgjengelig nettverksbåndbredde. Det vil ikke vurdere om det må foretrekke en node fra samme rack eller samme datasenter. Men andre kopier som er tilgjengelige, er klar over stativet, og det er forskjellige typer snitches.

Typer av snitches

Enkel snitch- Den har strategien for å plassere kopien av raden på neste tilgjengelige node som går med urviseren gjennom nodene.



Rack Inferring Snitch - Den prøver å plassere kopier av rader med forskjellige stativer i datasenteret. Den vil vite om stativet og datasenteret og vil prøve å plassere kopier i forskjellige stativer og datasentre. Fra IP-adressen kan den bestemme datasenteradressen og stativet. Så IP-adressen må konfigureres på en slik måte at den andre enheten IP-adresse vil bli brukt til å identifisere datasenteret. Den tredje enheten identifiserer stativet.

Eiendomsfil snitch - Når rack utledes, vil den lese IP-adressen, men i tilfelle adressen ikke er konfigurert på den måten, er det en mulighet for å definere denne informasjonen i en eiendomsfil. Så hvordan definerer du denne informasjonen i en eiendomsfil?

Detaljene må defineres i hver node i klyngen i Cassandra topologiegenskaper. Denne filen skal være den samme på tvers av alle nodene og skal ikke være forskjellig fra en node til den andre.



Har du et spørsmål til oss? Nevn dem i kommentarfeltet, så kommer vi tilbake til deg.