Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mitkä ovat parhaat käytännöt Redis -klusterin määrittämiseksi


Mitkä ovat parhaat käytännöt Redis -klusterin määrittämiseksi


Redis -klusteri on suosittu ratkaisu uusinnan skaalaamiseen, jotta saavutetaan korkeampi saatavuus, vikatoleranssi ja data, joka on varjostettu useiden solmujen välillä. Redis -klusterin oikea kokoonpano sisältää useita parhaita käytäntöjä, jotka varmistavat optimaalisen suorituskyvyn, luotettavuuden ja hallittavuuden.

klusterin arkkitehtuuri ja solmun kokoonpano

Redis -klusteri vaatii vähintään kolme pääsolmukkaa luotettavasti. Ihannetapauksessa tuotantoklusterin tulisi sisältää vähintään kuusi solmua, ja jokaisella isännällä on yksi tai useampi kopio. Tämä asennus varmistaa korkean käytettävyyden, mikä mahdollistaa automaattisen virheenvaihdon, jos pääsolmu epäonnistuu. Jokainen solmu toimii klusteritilassa ja sen on oltava käytössä erityiset kokoonpanot, mukaan lukien:

- `Cluster-yhteensopiva kyllä` klustertilan sallimiseksi jokaisessa Redis-ilmentymässä.
-`Cluster-Config-tiedosto 'Tiedoston määrittäminen, johon klusterisolmutila tallennetaan (esim.` nodes.conf`).
-`Cluster-solmu-timeout` suurimman ajan määritteleminen, jonka solmu voi olla saavuttamaton ennen kuin sitä pidetään epäonnistuneena (yleensä asetettu 5000-15000 millisekuntia).

Redis hallinnoi "klusterikonfigurointi-tiedostoa" automaattisesti, eikä sitä saa muokata manuaalisesti, koska se ylläpitää kriittisiä tilatietoja, kuten solmujen tunnuksia, kartoituksia ja korttipaikan omistajuutta. Jokainen solmu antaa itselleen ainutlaatuisen solmun tunnuksen käynnistyksen yhteydessä, joka jatkuu sen elinaikanaan, vaikka IP tai portti muuttuu.

Laitteisto- ja verkkoasetukset

Solmut tulisi ottaa käyttöön erillisissä fyysisissä tai virtuaalikoneissa yhden vikakohdan välttämiseksi. Solmujen väliset verkkoyhteydet on sallittava sekä asiakasviestinnän portit (tyypillisesti TCP 6379 tai käyttöportti) että klusteriväyläportin (toinen portti TCP -palveluportti + 10000, esim. 16379) klusterin internodeviestintää varten.

Määritä huolellisesti verkkorajapinnat ja palomuurit, jotta tämä liikenne sallii tämän solmujen ja valinnaisesti asiakkaiden ja klusterisolmujen välillä. "Bind" -direktiivin asettaminen tiettyihin yksityisiin IP: iin sen sijaan, että sitoisi kaikkiin rajapintoihin, parantaa suojausta.

Pysyvyys ja datan kestävyys

Ota pysyvyysmekanismit, kuten RDB-tilannekuvat tai AOF (liitä vain tiedosto) vaadituista tietojen kestävyydestä ja suorituskyvyn kompromisseista. AOF tarjoaa paremman kestävyyden kirjaamalla jokainen kirjoitustoimenpide, mutta voi lisätä viivettä ja IO -yläpuolella. RDB -tilannekuvien yhdistäminen AOF: n kanssa voi auttaa tasapainottamaan suorituskykyä ja kestävyyttä.

"Liitteenä kyllä" -direktiivi mahdollistaa AOF -tilan. Nämä asetukset tulisi virittää huolellisesti työmääräkuvioiden ja hyväksyttävien tietojen häviöikkunoiden mukaan.

Muistinhallinta- ja häätökäytännöt

Määritä `maxMemory` -asetus varmistaaksesi, että Redis sopii käytettävissä olevaan muistiin solmussa. Valitse asianmukainen häätökäytäntö, jossa käytetään `maxmemory-politiikkaa ', kuten` allkeys-lru`, käyttääksesi vähiten äskettäin käytettyä algoritmia kaikissa näppäimissä, kun muistin rajat saavutetaan. Muistin käytön johdonmukainen seuranta ja osuma/miss -suhteet ovat kriittisiä.

Redis -klusteri toimii parhaiten, kun tietojoukko sopii täysin muistiin jokaisessa solmussa. Vältä liiallista vaihtamista tai muistin liiallistamista.

paikanhallinta ja tiedon jakelu

Klusteri jakaa näppäintilat 16 384 hash -lähtö- ja hajauudeksi, jotka jakautuvat kaikissa pääsolmuissa. Klusterin luomalla varmista, että pääsolmu peittää kaikki paikat. Asiakkaiden on oltava klusterien tietoisia reitittääksesi kyselyjä oikeaan solmuun hash-paikan laskelman perusteella.

Vältä toimintoja, jotka liittyvät useita näppäimiä, jotka on kartoitettu eri lähtö- ja saapumisaikoihin, koska nämä vaativat rajat ylittäviä komentoja, jotka ovat rajoitetut tai vähemmän tehokkaita.

Käytä työkaluja, kuten `redis-cli-klusterin luominen 'bootstrap-klustereille, joilla on oikea aukko ja replika-määritys automaattisesti.

Klusteritietoisuuden asiakaskokoonpano

Määritä asiakaskirjastot käsittelemään Redis -klusterin topologiamuutoksia sulavasti. Monet asiakaskirjastot tarjoavat klusterin tukea, mukaan lukien klusterisolmujen automaattinen löytäminen ja uudelleenkonfigurointi, koska ne epäonnistuvat tai asettavat uudelleen. Tämä estää asiakasvirheitä ja parantaa luotettavuutta solmun epäonnistumisen aikana tai skaalausoperaatioita.

Asiakkaat on määritettävä uudelleen siirrettynä tai kysymään uudelleenohjauksia ja ylläpitämään päivitetyt näkymät klusteritilasta.

Suojausnäkökohdat

Suojatut klusterisolmut mahdollistamalla salasanan todennus (`veePass` -direktiivi), rajoittamalla verkkokäyttöä palomuurisääntöjen avulla ja rajoittamalla paljastettuja rajapintoja" bind "-konfiguraation avulla. Käytä TLS -salausta, jos mahdollista, jotta suojataan tietoa kauttakulussa.

Poista suojattu tila käytöstä, kun suoritat Redis Cluster -tilassa, mutta varmista, että verkkokokoonpanot eristävät klusterin epäluottamattomista asiakkaista.

seuranta ja ylläpito

Toteuta klusterin terveyden kattava seuranta, mukaan lukien solmun saatavuus, viive, muistin käyttö, replikointiviive ja klusteritilan muutokset. Työkalujen, kuten Redis Sentinelin, kolmansien osapuolien valvontaalustojen tai pilvipalvelujen ratkaisujen, tulisi olla osa operatiivista strategiaa.

Testaa säännöllisesti vikaantumismekanismeja ja suorita ohjattu solmu uudelleenkäynnistys tai skaalausharjoitukset klusterin kestävyyden varmistamiseksi.

Suorituskyvyn viritys

Viritä Redis ja klusterin kokoonpano työmäärän yksityiskohtien perusteella:

- Minimoi estokomennot ja käytä putkisto- tai LUA -skriptejä optimoimiseksi.
-Säädä `klusterisolmunnon aikakatkaisu 'verkon viiveominaisuuksien mukaan väärien epäonnistumisten välttämiseksi.
- Käytä johdonmukaista hajautus- ja älykkään avaimen nimeämistä aukkojakaumien optimoimiseksi.
- Vältä suuria avaimia tai arvoja ja harkitse suurten esineiden jakamista pienempiin paloiksi.
- Hyödynnä Redis -klusterin alkuperäisiä mekanismeja vaakasuoraan skaalaamiseen lisäämällä tai poistamalla solmut ja tasapainottamalla lähtöpaikkoja.

Varmuuskopiointi ja palautus

Suunnitteluvarmuuskopiostrategiat, jotka on linjassa klusterin asennuksen kanssa. Käytä säännöllisiä RDB -tilannekuvia pääsolmuista tai kopioista ja säilytä varmuuskopioita ulkoisesti. Vältä varmuuskopioiden palauttamista suoraan elävällä klusterilla ilman asianmukaista paikkaa ja solmutilan synkronointia.

Palautusta varten Redis suositteli käyttäviä menettelytapoja klustereiden rekonstruoimiseksi tallennettujen kokoonpanojen ja varmuuskopioiden kanssa.

Yhteenveto

Parhaat käytännöt Redis -klusterin määrityskansille:

- Ainakin kolme pääsolmua kopioilla virheenvaihtoa varten.
-varmistaa asianmukaiset klusteriin liittyvät konfiguraatiodirektiivi
- Solmujen käyttöönotto sopivalla laitteistolla oikealla verkkoasetuksilla asiakas- ja klusteriväyläviestinnässä.
- Pysyvyyden ja muisti- ja häätökäytäntöjen mahdollistaminen työmäärän vaatimusten vastaamiseksi.
- Hash-lähtö- ja saapumisaikojen hallinta tehokkaasti ja asiakkaiden varmistaminen on klusteritietoinen.
- Klusterin varmistaminen todennus- ja verkkoohjaimilla.
- Klusterin terveyden ja suorituskyvyn seuraaminen säännöllisesti.
- Varmuuskopiointi-, palautus- ja skaalausoperaatioiden suunnittelu huolellisesti.

Näiden parhaiden käytäntöjen soveltaminen varmistaa tukevan, skaalautuvan ja erittäin saatavilla olevan Redis -klusteriympäristön, joka sopii tuotantokuormitukseen. Yllä olevat aiheet käsittävät välttämättömät operatiiviset, arkkitehtoniset ja turvallisuusnäkökohdat Redis -klusterin käyttöönottoihin.