sql >> Database >  >> NoSQL >> Redis

Verbinding met Redis-cluster mislukt

Oké, ik denk dat er hier verwarring is.

Een Redis Cluster-implementatie is niet hetzelfde als een aantal standaard Redis-instanties die door Sentinel worden beschermd. Twee heel verschillende dingen.

De click-to-deploy-optie van GCE implementeert een aantal standaard Redis-instanties die worden beschermd door Sentinel, niet door Redis Cluster.

ioredis kan beide soorten implementaties aan, maar u moet de bijbehorende API gebruiken. Hier probeerde u de Redis Cluster API te gebruiken, wat resulteerde in deze fout (clustergerelateerde opdrachten worden niet geactiveerd voor standaard Redis-instanties).

Volgens de ioredis-documentatie moet u verbinding maken met:

var redis = new Redis({
    sentinels: [{ host: hostMaster, port: 26379 },
                { host: hostSlab1, port: 26379 },
                { host: hostSlab2, port: 26379 } ],
    name: 'mymaster'
});

Controleer natuurlijk de schildwachtpoorten en de naam van de master. ioredis regelt automatisch de omschakeling naar een slave-instantie wanneer de master faalt, en sentinel zorgt ervoor dat de slave net daarvoor als master wordt gepromoveerd.

Merk op dat aangezien je pub/sub gebruikt, je verschillende redis-verbindingen nodig hebt.




  1. Apache HBase-replicatie:operationeel overzicht

  2. dood zombie dode regioservers

  3. Basisoverwegingen voor het nemen van een MongoDB-back-up

  4. Een configuratiebestand maken voor MongoDB