Tukaj je, kako deluje Sharding v Redis Cluster:
Redis grozd
Redis Cluster uporablja vgrajen mehanizem za škripanje za samodejno razdelitev podatkov v več vozliščih Redis. Ključni vidiki, kako to deluje, so:
1. Razdelitev tipk: Celoten tipkovni prostor v grozdu Redis je razdeljen na 16.384 hash rež. Ti reži za hash so odgovorni za distribucijo podatkov po grozdu.
2. Dodelitev režij hash: Vsako vozlišče Redis v grozdu je dodeljeno podskupini 16.384 hash rež. Dodelitev hash reže na vozlišča se opravi s funkcijo hash.
3. Postavitev podatkov: Ko želi odjemalec shraniti par ključa in vrednost, odjemalec izračuna vrednost hash ključa s pomočjo vnaprej določene funkcije hash. Ta hash vrednost se nato preslika na eno od 16.384 hash rež. Podatki se nato shranijo na vozlišče Redis, ki ima v lasti režo.
4. Replikacija: Za vsako hash režo je primarno vozlišče, ki je odgovorno za postrežbo zahtev za branje/pisanje. Poleg tega obstaja eno ali več replik vozlišč, ki vzdržujejo kopijo podatkov za visoko razpoložljivost.
5. Samodejno preusmeritev: Ker se vozlišča dodajo ali odstranijo iz grozda, se dodelitve hash reže samodejno uravnotežijo, da se zagotovi enakomerna porazdelitev podatkov in obremenitve po grozdu.
Prednosti redis grozda
1. razširljivost: Z razporeditvijo podatkov po več vozliščih lahko redis grozd obsega za obdelavo velikih količin podatkov in visoke pretočne pretoke.
2. Visoka razpoložljivost: Podvajanje hash rež po primarnih in repličnih vozliščih zagotavlja visoko razpoložljivost, saj lahko stranke še naprej dostopajo do podatkov, tudi če nekatera vozlišča ne uspejo.
3. Pregleden dostop do odjemalca: preslikava reže za hash pregledno obravnava grozd Redis, tako da lahko odjemalci dostopajo do podatkov, ne da bi morali vedeti podrobnosti o osnovnem škripanju.
4. Samodejno upravljanje: Redis Cluster avtomatizira upravljanje spuščanja, vključno z ponovnim uravnoteženjem podatkov, ko grozd raste ali skrči.
Na splošno je arhitektura grozda Redis Cluster omogoča, da zagotovi zelo razširljivo, razpoložljivo in enostavno za upravljanje distribuiranih podatkov, s čimer je dobro primerna za aplikacije z velikimi količinami podatkov ali z visokimi zahtevami za pretok.
Navedbe:[1] https://scalegrid.io/blog/intro-to-redis-harding/
[2] https://redis.io/redis-enterprise/technology/redis-enterprise-cluster-architecture/
[3] https://yandex.cloud/sl/docs/managed-redis/concepts/sharding
[4] https://reredosson.org/glossary/sharding.html
[5] https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/cachenodes.nodegroups.html