Diegimas ir High Availability Redis NodeJS

Norėdami nustatyti Redis Replication ir High Availability naudoti NodeJS, atlikite šiuos veiksmus:

Diegti Redis

Pirmiausia turite įdiegti Redis savo serveryje. Galite atsisiųsti jį iš oficialios svetainės arba naudoti paketų tvarkyklę, pvz., apt arba brew.

Konfigūruoti Redis _ Replication

Atidarykite Redis konfigūracijos failą(redis.conf) ir atlikite šiuos pakeitimus:

# Enable replication  
replicaof <master_ip> <master_port>  

Pakeiskite <master_ip> ir <master_port> su Redis pagrindinio serverio IP adresu ir prievadu.

torto Redis kopijos

Pradėkite kelis Redis egzempliorius skirtinguose serveriuose arba prievaduose, kurie veiks kaip pagrindinio serverio kopijos. Redis Kiekvienam egzemplioriui naudokite tą patį konfigūracijos failą.

Naudokite Redis Client NodeJS

Savo NodeJS programoje naudokite Redis kliento biblioteką, pvz., „ioredis“, kad prisijungtumėte prie Redis egzempliorių. Klientas automatiškai apdoros perkėlimo ir maršruto užklausas į atitinkamą serverį.

Prisijungimo prie Redis „ioredis“ „NodeJS“ pavyzdys:

const Redis = require('ioredis');  
  
const redis = new Redis({  
  sentinels: [{ host: 'sentinel_ip', port: sentinel_port }],  
  name: 'mymaster',  
  role: 'slave',  
});  

Pakeiskite 'sentinel_ip' ir sentinel_port su IP adresu ir serverio prievadu Redis Sentinel, kuris stebi pagrindinį serverį ir tvarko perkėlimą.

Monitorius Redis Sentinel

Redis Sentinel yra atsakingas už Redis atvejų stebėjimą ir gedimų tvarkymą. Įdiekite ir konfigūruokite Redis Sentinel atskirame serveryje ir pridėkite jo išsamią informaciją „NodeJS“ programoje.

Prisijungimo prie Redis Sentinel „ioredis“ „NodeJS“ pavyzdys:

const Redis = require('ioredis');  
  
const sentinel = new Redis({  
  sentinels: [  
    { host: 'sentinel1_ip', port: sentinel1_port },  
    { host: 'sentinel2_ip', port: sentinel2_port },  
    // Add more Sentinel servers if needed  
  ],  
  name: 'mymaster',  
});  
  
const redis = new Redis({  
  sentinels: [  
    { host: 'sentinel1_ip', port: sentinel1_port },  
    { host: 'sentinel2_ip', port: sentinel2_port },  
    // Add more Sentinel servers if needed  
  ],  
  name: 'mymaster',  
});  

Pakeiskite 'sentinel1_ip', sentinel1_port, 'sentinel2_ip', sentinel2_port, ir tt serverių IP adresais ir prievadais Redis Sentinel.

Išbandyti nesėkmę ir High Availability

Norėdami išbandyti Redis replication ir high availability, galite imituoti pagrindinio serverio gedimą. Redis Sentinel turėtų automatiškai reklamuoti vieną iš kopijų naujajam pagrindiniam kompiuteriui ir sklandžiai tvarkyti perkėlimą.

 

Atlikdami šiuos veiksmus, galite pasiekti Redis Replication ir High Availability savo NodeJS programoje, užtikrinti duomenų dubliavimą ir nenutrūkstamą veikimą net ir serverio gedimų atveju.