Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas Redis Cluster käsitleb sõlmede tõrkeid?


Kuidas Redis Cluster käsitleb sõlmede tõrkeid?


Sõlmde tõrkeid käsitleb Redis Cluster järgmiselt:

Automaatne tõrkevahetus

Kui Redis Clusteri juhtsõlm ebaõnnestub, tõstab klaster automaatselt ühe koopiasõlmedest, et see juht saaks uueks juhtsõlmeks. See tõrkevahetusprotsess toimub automaatselt ilma käsitsi sekkumiseta.

Tõrkevahetusprotsessi peamised sammud on järgmised:

1. Teised klastri sõlmed tuvastavad, et peasõlm on ebaõnnestunud, kas klastri kuulujuttude protokolli või sõlmega ühenduse loomise katse.

2. Seejärel korraldab klaster selle juhtseadme koopiasõlmede vahel valimise. Uueks meistriks valitakse kõige värskemate andmetega koopia.

3. Valitud koopiasõlmest ülendatakse uus juht. Teised koopiad konfigureeritakse seejärel uuesti uuest põhimassist kopeerimiseks.

4. Kliendid suunatakse ümber uude põhisõlme, kasutades veavastust 'MOVED', mis sisaldab uut pesa-sõlme vastendamist.

Sloti katvus

Sõlme rikete ajal kättesaadavaks jäämiseks nõuab Redis Cluster, et suurem osa peasõlmedest on saadaval ja suutelised suhtlema. Seda nimetatakse "pesa katvuse" säilitamiseks.

Iga klastri põhisõlm vastutab 16 384 räsipesa alamhulga eest. Kuni enamus juhtseadmeid on saadaval ja saavad teenindada neile määratud teenindusaegu, võib klaster edasi töötada.

Kui liiga paljud juhtsõlmed ebaõnnestuvad nii, et ülejäänud juhtsõlmed ei suuda katta kogu räsipesa vahemikku, muutub klaster kättesaamatuks, kuni ebaõnnestunud sõlmed taastuvad või asendatakse.

Replica reklaam

Redis Cluster tugineb kõrge kättesaadavuse tagamiseks replikasõlmedele. Kui ülemseade ebaõnnestub, ülendatakse üks selle koopiasõlmedest automaatselt uueks juhiks.

Uueks meistriks valitakse kõige värskemate andmetega koopia. See tagab andmete järjepidevuse säilimise tõrkesiirdeprotsessi ajal.

Split-Brain käsitlemine

Redis Cluster kasutab võrgusektsioonide haldamiseks kvoorumipõhist lähenemist ja väldib "aju jagatud" stsenaariume, kus klaster jaguneb mitmeks sõltumatuks klastriks.

Kui enamus juhtseadmeid ei ole saadaval, keelduvad ülejäänud sõlmed kliendi taotlused, kuni partitsioon on lahendatud. See tagab andmete järjepidevuse säilimise.

Neid automaatseid tõrkesiirde- ja kvoorumipõhiseid mehhanisme võimendades suudab Redis Cluster pakkuda kõrget kättesaadavust ja vastupidavust sõlmetõrgete ja võrgusektsioonide korral.

Tsitaadid:
[1] https://yifan-online.com/en/km/article/detail/16750
[2] https://stackoverflow.com/questions/63878562/two-failure-support-in-3-node-redis-cluster
[3] https://redis.io/docs/latest/operate/oss_and_stack/management/scaling/
[4] https://redis.io/docs/latest/commands/cluster-nodes/
[5] https://github.com/lettuce-io/lettuce-core/issues/2318