Bruger memcached konsekvent hashing?
Bruger memcached konsekvent hashing?

Video: Bruger memcached konsekvent hashing?

Video: Bruger memcached konsekvent hashing?
Video: Guillaume Ardaud: Cache me if you can: memcached, caching patterns and best practices - PyCon 2014 2024, Kan
Anonim

Konsekvent hashing med Memcached eller Redis, og et plaster til libketama. Det her er en howto til konsekvent hashing af nøgler i nøgleværdi-butikker, med fokus på cache-servere. Koden er cache-server agnostiker: der er intet specifikt til Memcached eller Redis i den, og den kan bruges med andre servere.

Når man tager dette i betragtning, hvor bruges konsekvent hashing?

I et distribueret system, konsekvent hashing hjælper med at løse følgende scenarier: At give elastisk skalering (et udtryk Brugt for at beskrive dynamisk tilføjelse/fjernelse af servere baseret på forbrugsbelastning) for cache-servere. Udskaler et sæt lagernoder som NoSQL-databaser.

bruger Redis konsekvent hashing? Det hash slots ligner virtuelle noder i konsekvent hashing . Cassandras datadistribution er næsten det samme som redis klynge, og denne artikel sagde det konsekvent hashing . Men redis klynge turorial sagde redis klynge gør ikke brug konsekvent hash.

Bruger Cassandra derfor konsekvent hashing?

2 svar. Det gør Cassandra ikke brug konsekvent hashing på en måde du beskriver. Hver tabel har en partitionsnøgle (du kan tænke på den som en primær nøgle eller første del af den i RDBMS-terminologi), denne nøgle er hashed ved hjælp af murmur3 algoritme. Det hele hash rummet danner en kontinuerlig ring fra lavest mulige hash til det højeste

Hvorfor har vi brug for konsekvent hashing?

ændringer og hver genstand er hashed til et nyt sted. Det her kan være katastrofale siden de oprindelige indholdsservere er oversvømmet med anmodninger fra cachemaskinerne. Derfor konsekvent hashing er nødvendig for at undgå oversvømmelse af servere. Konsekvent hashing kortlægger objekter til den samme cache-maskine, så vidt muligt.

Anbefalede: