Introduktion til snitches i Cassandra



Dette definerer snitches og den rolle, det spiller i Cassandra

Hvad er en snitch?

En snitch bestemmer, hvilke datacentre og racks der skal skrives til og læses fra. En snitchs opgave er simpelthen at bestemme relativ værts nærhed. Derfor, hvis en node har 3 muligheder for at kopiere dataene, hvilken vært skal den vælge? Hvilken vært skal den foretrække dataene fra?

Hvis dette er den slags information, som værten gerne vil modtage, vil den ringe til en bestemt snitch for at se, hvilken vært der er relativt tættere på. Snitches samler information om netværkstopologi. Afhængigt af hvilken type snitch der bruges, vil de være opmærksomme på den netværkstopologi, en person bruger, og de kan effektivt dirigere anmodningerne.





For en enkelt datacenterklynge er det tilstrækkeligt at bruge den enkle standard-snitch. Derfor er en simpel snitch ikke andet end det er et rack, der ikke er opmærksom på. Det ved ikke om stativer og datacentre i en klynge. Det har ingen oplysninger, så det antages, at der ikke er nogen racks, og det vælger den nærmeste vært med hensyn til den tilgængelige netværksbåndbredde. Det overvejer ikke, om det skal foretrække en node fra samme rack eller samme datacenter. Men andre tilgængelige replikaer er rackbevidste, og der er forskellige typer snitches.

omvendt af et tal i java

Typer af snitches

Simpel snitch- Det har strategien at placere kopien af ​​rækken på den næste tilgængelige knude, der går med uret gennem noderne.



Rack Inferring Snitch - Det forsøger at placere kopier af rækker med forskellige stativer i datacentret. Det vil kende til rack og datacenter og vil prøve at placere kopier i forskellige racks og datacentre. Fra IP-adressen kan den bestemme datacenteradressen og racket. Så IP-adressen skal konfigureres på en sådan måde, at den anden IP-adresseenhed bruges til at identificere datacentret. Den tredje enhed identificerer stativet.

Ejendom fil snitch - Når rack udledes, vil den læse IP-adressen, men hvis adressen ikke er konfigureret på den måde, er der en mulighed for at definere disse oplysninger i en ejendomsfil. Så hvordan definerer du disse oplysninger i en ejendomsfil?

Detaljerne skal defineres i hver knude i klyngen i Cassandra-topologiegenskaber. Denne fil skal være den samme på tværs af alle knudepunkter og bør ikke adskille sig fra den ene node til den anden.



Har du et spørgsmål til os? Nævn dem i kommentarfeltet, så vender vi tilbage til dig.

hvordan man caster en dobbelt til en int i java