Redis Clustering je distribuirani i skalabilni pristup upravljanju podacima u Redis, popularnom skladištu podataka u memoriji. Grupiranje omogućuje višestrukim Redis čvorovima da rade zajedno kao jedinstveni sustav, pružajući veću dostupnost, toleranciju grešaka i poboljšanu izvedbu za rukovanje velikim skupovima podataka.
U Redis Clustering, podaci su podijeljeni na više čvorova, a svaki čvor sadrži samo dio podataka. Ova particija omogućuje horizontalno skaliranje, pri čemu se novi čvorovi mogu dodati u klaster kako bi se zadovoljili rastući zahtjevi za podacima. Osim toga, Redis Clustering pruža ugrađenu replikaciju, osiguravajući redundantnost podataka i mogućnost prelaska u slučaju greške u slučaju kvara čvora.
Ključne značajke Redis Clustering uključuju:
-
Visoka dostupnost: Redis Clustering osigurava da čak i ako neki čvorovi zakažu, cjelokupni sustav ostaje operativan, zahvaljujući replikaciji podataka i automatskim mehanizmima za prelazak u kvar.
-
Horizontalno skaliranje: Kako se veličina podataka povećava, novi čvorovi mogu se dodati u klaster, raspoređujući opterećenje podataka i povećavajući performanse.
-
Dijeljenje podataka: Podaci su podijeljeni u segmente, a svaki segment je dodijeljen određenom čvoru, što omogućuje učinkovitu distribuciju i dohvaćanje podataka.
-
Upravljanje klasterom: Redis Clustering koristi kombinaciju Redis Sentinela i Cluster Managera za praćenje stanja čvorova i izvršavanje zadataka prelaska u slučaju greške.
-
Dosljednost: Redis pruža konačnu dosljednost, pri čemu se promjene podataka postupno prenose kroz klaster.
Za korištenje Redis Clustering u NodeJS, slijedite ove korake:
Instalirati Redis
Prvo morate instalirati Redis na svoj poslužitelj. Možete ga preuzeti sa službene web stranice ili koristiti upravitelj paketa poput apt
ili brew
.
Cấu hình Redis cho Grupiranje
Konfiguracija Redis za klasteriranje: otvorite Redis konfiguracijsku datoteku(redis.conf) i izvršite sljedeće promjene:
# Enable clustering mode
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
Postavite cluster-enabled
na yes
da biste omogućili način grupiranja. cluster-config-file
specificira naziv datoteke gdje će biti pohranjeno stanje klastera. cluster-node-timeout
definira vremensko ograničenje u milisekundama za čvorove klastera.
Pokreni Redis instance
Pokrenite više Redis instanci na različitim portovima, koji će formirati Redis klaster. Svaka instanca treba koristiti istu konfiguracijsku datoteku.
Redis Cluster u NodeJS
U svojoj NodeJS aplikaciji koristite Redis biblioteku klijenta koja podržava Redis klasteriranje, poput "ioredis". Klijent će automatski upravljati stanjem klastera i usmjeravati zahtjeve do odgovarajućih čvorova.
Primjer povezivanja s Redis Cluster pomoću "ioredis" u NodeJS:
const Redis = require('ioredis');
const redis = new Redis.Cluster([
{ host: '127.0.0.1', port: 7000 },
{ host: '127.0.0.1', port: 7001 },
{ host: '127.0.0.1', port: 7002 },
// Add more Redis nodes if needed
]);
Zamijenite IP adresu i portove adresama vaših Redis čvorova klastera.
Test Redis Clustering
S postavljenim klasterom i NodeJS aplikacijom povezanom s njim, možete početi koristiti Redis naredbe kao i obično. Klijent Redis će automatski upravljati distribucijom podataka i prelaskom između čvorova klastera.
Slijedeći ove korake, možete koristiti Redis Clustering u svojoj NodeJS aplikaciji, dopuštajući joj vodoravno skaliranje i rukovanje velikim količinama podataka s lakoćom.