Redis Cluster je priljubljena rešitev za skaliranje uvajanj Redis za doseganje večje razpoložljivosti, tolerance na napake in zatiranje podatkov v več vozliščih. Pravilna konfiguracija grozda Redis vključuje več najboljših praks, ki zagotavljajo optimalno delovanje, zanesljivost in upravljanje.
Cluster Arhitektura in konfiguracija vozlišč
Redis grozd zahteva zanesljivo delovanje vsaj tri glavna vozlišča. V idealnem primeru bi moral proizvodni grozd vsebovati najmanj šest vozlišč, pri čemer ima vsak mojster eno ali več replik. Ta nastavitev zagotavlja visoko razpoložljivost, kar omogoča samodejno preklop, če katero koli glavno vozlišče ne uspe. Vsako vozlišče deluje v načinu grozda in mora imeti omogočene posebne konfiguracije, vključno z:
- `Omogočeno grozd Da", da omogočite način grozda na vsakem primerku Redis.
-`Cluster-Config-file`, ki določa datoteko, kjer je shranjeno stanje vozlišč grozda (npr.` vozli.conf`).
-`Cluster-Node-Timeout`, ki določa največji čas, da je vozlišče lahko nedosegljivo, preden se šteje za neuspešno (običajno nastavljeno na 5000 do 15000 milisekund).
"Cluster-Config-File" upravlja Redis samodejno in ga ne sme urejati ročno, saj vzdržuje kritične informacije o stanju, kot so ID-ji vozlišč, preslikave in lastništvo reže. Vsako vozlišče si pri Startupu dodeli edinstven ID vozlišča, ki vztraja v svoji življenjski dobi, tudi če se IP ali vrat spremeni.
Nastavitev strojne in omrežja
Vozlišča je treba namestiti na ločene fizične ali virtualne stroje, da se izognete posameznim točkam okvare. Omrežna povezljivost med vozlišči mora omogočiti tako komunikacijske vrata odjemalcev (običajno TCP 6379 ali servisna vrata, ki se uporabljajo) kot tudi vodila za vodila v grozdu (drugi pristanišče, ki je običajno TCP servisna vrata + 10000, npr. 16379) za komunikacijo v grozdu.
Previdno konfigurirajte omrežne vmesnike in požarne zidove, da omogočite ta promet med vozlišči in po izbiri med strankami in vozlišči grozdov. Nastavitev direktive `vezi do določenih zasebnih IP -jev in ne zavezunja na vse vmesnike, izboljša varnost.
Obstojnost in trajnost podatkov
Omogočite mehanizme obstojnosti, kot so posnetki RDB ali AOF (Dodaj samo datoteko), odvisno od zahtevane trajnosti podatkov in uspešnosti. AOF zagotavlja boljšo vzdržljivost z zapisovanjem vsake operacije pisanja, vendar lahko doda zamude in io nad glavo. Združevanje RDB posnetkov z AOF lahko pomaga uravnotežiti uspešnost in trajnost.
Direktiva `AppenDly Da` omogoča način AOF. Te nastavitve je treba skrbno uglasiti glede na vzorce delovne obremenitve in sprejemljiva okna za izgubo podatkov.
Politike upravljanja pomnilnika in izselitve
Konfigurirajte nastavitev "maxmemory", da se zagotovi, da se Redis prilega v razpoložljivi pomnilnik na vozlišču. Izberite ustrezen pravilnik o izselitvi z uporabo `maxmemory-Policy`, kot je" Allkeys-Lru "za uporabo najmanj nedavno uporabljenega algoritma v vseh tipkah, ko dosežejo meje pomnilnika. Ključnega pomena je dosledno spremljanje porabe pomnilnika in razmerij HIT/MISP.
Redis Cluster najbolje deluje, ko se nabor podatkov v celoti prilega pomnilniku na vsakem vozlišču. Izogibajte se prekomernemu zamenjave ali prekomerne obremenitve pomnilnika.
Upravljanje reže in distribucija podatkov
Grozd ključ razdeli na 16.384 hash rež, ki so razporejeni po vseh glavnih vozliščih. Pri ustvarjanju grozda se prepričajte, da so vse reže pokrite z glavno vozliščem. Odjemalci morajo biti v grozdu, da se zavedajo poizvedbe do pravilnega vozlišča na podlagi izračuna hash reže.
Izogibajte se operacijam, ki vključujejo več tipk, preslikanih na različne reže, saj ti zahtevajo omejene ali manj učinkovite ukaze navzkrižnega reže.
Uporabite orodja, kot je `redis-cli-cluster Create` za zagonske grozde z ustreznim dodeljevanjem reže in samodejno dodelitev replike.
Konfiguracija odjemalca za ozaveščanje o grozdu
Konfigurirajte knjižnice odjemalcev za ravnanje s topologijo grozdov Redis se graciozno spreminjajo. Številne knjižnice odjemalcev nudijo podporo grozdov, vključno s samodejnim odkrivanjem in ponovno konfiguracijo vozlišč grozda, saj ne uspejo ali prestavljajo reže. To preprečuje napake stranke in izboljša zanesljivost med odpovedi vozlišč ali operacijami skaliranja.
Stranke bi morale biti konfigurirane za poskus premikanja ali vprašati preusmeritve in vzdrževati posodobljene poglede na stanje grozda.
Varnostni pomisleki
Varna vozlišča grozda tako, da omogočijo preverjanje pristnosti gesla (`direktiva zahteva), omejevanje dostopa do omrežja prek pravil požarnega zidu in omejevanjem izpostavljenih vmesnikov prek konfiguracije` Bind`. Če je mogoče, uporabite šifriranje TLS za zaščito podatkov med tranzitom.
Onemogočite zaščiten način, ko zaženete Redis v načinu grozda, vendar zagotovite, da omrežne konfiguracije izolirajo grozd od nezaupljivih odjemalcev.
Spremljanje in vzdrževanje
Izvedite celovito spremljanje zdravja grozdov, vključno z razpoložljivostjo vozlišč, zamudo, porabo pomnilnika, zamudo podvajanja in spremembami stanja grozda. Orodja, kot so Redis Sentinel, platforme za spremljanje tretjih oseb ali rešitve ponudnika oblakov, bi morale biti del operativne strategije.
Redno preizkušajte mehanizme za preklop in izvajajte kontrolirane ponovne zagone ali vaje za skaliranje, da preverite odpornost grozda.
Uravnava Performance
Tune Redis in konfiguracija grozda na podlagi posebnosti delovne obremenitve:
- Zmanjšajte blokirane ukaze in za optimizacijo pretoka uporabite skripte cevovodov ali lua.
-Prilagodite `Cluster-Node-Timeout" glede na značilnosti zakasnitve omrežja, da se izognete napačnim napadom.
- Za optimizacijo distribucij reže uporabite dosledno hashing in pametno poimenovanje.
- Izogibajte se velikim tipkam ali vrednostim in razmislite o razbijanju velikih predmetov na manjše koščke.
- Uporabite izvorne mehanizme redis grozda za vodoravno merjenje z dodajanjem ali odstranjevanjem vozlišč in ponovno uravnoteženja rež.
Varnostno kopiranje in obnovitev
Strategije oblikovanja varnostnih kopij, usklajenih z nastavitvijo grozda. Uporabite periodične posnetke RDB iz glavnih vozlišč ali replik in zunaj shranite varnostne kopije. Izogibajte se obnavljanju varnostnih kopij neposredno na grozdu v živo brez ustrezne sinhronizacije reže in stanja vozlišč.
Za obnovitev postopke uporabe, ki jih priporoča Redis za rekonstrukcijo grozdov iz shranjenih konfiguracij in varnostnih kopij.
Povzetek
Najboljše prakse za konfiguracijo grozda Redis:
- Nastavitev vsaj treh glavnih vozlišč z replikami za preklop.
-Zagotavljanje ustreznih konfiguracijskih direktiv, povezanih z grozdom (`Cluster-EnAbled`,` Cluster-Config-File`, `Cluster-Node-Timeout`).
- Umestitev vozlišč na primerno strojno opremo s pravilnimi omrežnimi nastavitvami za komunikacijo z vodilom za odjemalce in grozd.
- Omogočanje vztrajnosti in uglaševanja politik pomnilnika in izselitve, da ustrezajo zahtevam delovne obremenitve.
- Učinkovito upravljanje rež hash in zagotavljanje, da se stranke zavedajo.
- Zavarovanje grozda z preverjanjem overjanja in nadzora omrežja.
- Redno spremljanje zdravja in uspešnosti grozdov.
- Previdno načrtovanje varnostnih kopij, obnovitve in skaliranja.