Inhaltsverzeichnis
Use a Sentinel-aware client library
Sentinels monitor and announce the new master
Handle DNS or proxy layers carefully
Heim Datenbank Redis Wie entdeckt ein Kunde den neuen Meister nach einem Sentinel -Failover?

Wie entdeckt ein Kunde den neuen Meister nach einem Sentinel -Failover?

Aug 05, 2025 am 11:07 AM
sentinel failover

To find the new master after a Redis Sentinel failover, clients must use a Sentinel-aware library, provide Sentinel addresses and the master group name, detect connection breaks to re-query Sentinels, optionally listen to pub/sub events like +switch-master, and carefully manage DNS or proxy layers that may affect discovery. Modern client libraries such as redis-py or ioredis support these features by querying Sentinels for the current master address, reconnecting automatically after failover, and staying updated through internal mechanisms or event notifications. Additionally, when using proxies or DNS layers, ensure they dynamically update based on Sentinel announcements to avoid connection delays to the new master.

How does a client discover the new master after a Sentinel failover?

When a Redis Sentinel failover happens, the client needs to find out who the new master is so it can keep reading and writing data. The good news is that Redis Sentinel handles most of this automatically — but only if your client is set up correctly.

Here’s how it typically works from a client's perspective:

Use a Sentinel-aware client library

Most modern Redis client libraries (like redis-py for Python or ioredis for Node.js) have built-in support for Redis Sentinel. These clients are designed to talk to Sentinel instances to discover the current master.

What you do as a developer is simply tell the client:

  • The list of Sentinel addresses
  • The name of the master group (e.g., mymaster)

Once configured, the client will ask any available Sentinel:
"Hey, who is the current master for 'mymaster'?"

The Sentinel responds with the current master address, and the client connects to it.

If a failover occurs and the master changes, the client usually detects that its connection is broken and re-queries Sentinel for the new master.

Tip: Make sure the client supports auto-discovery and reconnects after detecting failures. Otherwise, it might keep trying to connect to the old master indefinitely.

Sentinels monitor and announce the new master

Redis Sentinel doesn’t just detect failures — it also promotes a new slave to be the master and tells everyone about it.

After a failover:

  1. One of the Sentinels gets elected to coordinate the failover.
  2. It picks a healthy slave and turns it into the new master.
  3. Other Sentinels learn about this change and update their internal state.
  4. Any client that asks them for the master will get the updated IP and port.

So from the client’s point of view, nothing really changes — it just asks Sentinel the same question again and gets the new answer.

Some clients can also listen for Sentinel pub/sub messages like +switch-master, which notify subscribers immediately when a new master is promoted. This helps reduce downtime compared to waiting for a timeout or failed connection attempt.

Handle DNS or proxy layers carefully

Some setups use a proxy (like HAProxy) or DNS layer in front of Redis to hide the complexity of master discovery from clients.

In these cases:

  • The client connects to a fixed hostname or IP
  • The proxy/DNS layer is responsible for routing traffic to the current master
  • You need to make sure the proxy listens to Sentinel or regularly polls for master changes

This approach simplifies client logic, but adds another moving part to maintain.

Also, note that DNS-based solutions can suffer from caching delays — if the client caches the old IP for too long, it won't know the new master exists right away.


That’s basically how clients find the new master after a Sentinel failover. As long as your client library supports Sentinel and you've given it the right configuration, it should handle the rest on its own.

Das obige ist der detaillierte Inhalt vonWie entdeckt ein Kunde den neuen Meister nach einem Sentinel -Failover?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1517
276
Wie funktioniert PSYNC (partielle Resynchronisation)? Wie funktioniert PSYNC (partielle Resynchronisation)? Jul 29, 2025 am 12:27 AM

PSYNC ist ein teilweise Resynchronisierungsmechanismus bei der Replikation der Redis-Master-Slave, mit der nur Daten synchronisiert werden, die während der Trennung verloren gegangen sind, nachdem der Slave-Server getrennt wurde, um die Synchronisationseffizienz zu verbessern. Sein Kern beruht auf dem Replikationsbacklog, bei dem es sich um eine vom Hauptserver verwaltete Warteschlange handelt. Die Standardgröße beträgt 1 MB und speichert die zuletzt ausgeführten Schreibbefehle. Wenn sich der Slave -Server wieder verbindet, wird ein PSYNC -Befehl gesendet, und der Master -Server bestimmt, ob eine teilweise Synchronisation basierend darauf durchgeführt werden kann: 1. Der Runid muss konsistent sein; 2. Der Offset muss im Backlog -Puffer sein. Wenn die Bedingung erfüllt ist, werden die Daten weiterhin vom Offset gesendet, ansonsten werden die vollständige Synchronisation ausgelöst. Methoden zur Verbesserung der Erfolgsrate von PSYNC umfassen: 1. Angemessen erhöhen die Repl-B

Wie rufe ich eine Reihe von Elementen aus einer Liste mit LRange ab? Wie rufe ich eine Reihe von Elementen aus einer Liste mit LRange ab? Jul 23, 2025 am 12:01 AM

LRANGE wird verwendet, um Elemente des angegebenen Bereichs aus der Redisliste herauszunehmen, wobei positive und negative Indizes unterstützt werden. 1. Verwenden Sie 0 bis -1 für die gesamte Liste; 2. Verwenden Sie 0 bis N-1 für das erste n; 3. verwenden Sie -n bis -1 für das letzte n; 4. Verwenden Sie -n bis -1 für die Seite; V. Beachten Sie, dass der Start größer als die Länge oder der Stopp übersteigt das Ende, der leere oder gültige Teil zurückgibt und starten> Stopp auch leer, was für Cache, Protokoll, Warteschlange und andere Szenarien geeignet ist.

Wie rufe ich eine Reihe von Mitgliedern mithilfe von Zrangebyscore ab? Wie rufe ich eine Reihe von Mitgliedern mithilfe von Zrangebyscore ab? Jul 21, 2025 am 12:19 AM

Um eine Liste von Mitgliedern zu erhalten, die auf Bewertungen aus einem bestellten Satz von Redis basieren, sollte der Befehl zrangebyscore verwendet werden. 1) Die grundlegende Syntax ist ZRANGEBYSCOREKYMINMAX, mit dem Mitglieder innerhalb des angegebenen Bewertungsbereichs erhalten werden. 2) PAGING -Abfrage kann durch Hinzufügen von LimitOffsetCount implementiert werden. 3) Der Grenzwert kann durch Hinzufügen (Symbole vor min oder max; 4) ausgeschlossen werden. Das Flag mit Erstellungen kann hinzugefügt werden, um die Mitglieder und deren Bewertungen gleichzeitig zurückzugeben.

Was ist der Unterschied zwischen Set, SetNX und SetEx? Was ist der Unterschied zwischen Set, SetNX und SetEx? Jul 25, 2025 am 12:40 AM

SetsetsakeywitHoptionalconditionSandexpiration, setNxSetSakeyonlyifitdoesN'Texist, AndsetExsakeyWithanexpiration

Wie lagere und fragst du Geospatialdaten in Redis? Wie lagere und fragst du Geospatialdaten in Redis? Jul 29, 2025 am 12:20 AM

RedissupportsgeospatialdatastorageandQuerieSviaitsgeodatatype.1. UseGeoaddtostorecoordinatenmasmbersUnterakey, mit SSYNTAXGEOADDKEYLONGITUDELATIDEMBEMITME.2.QUEYNEARBYOCATIONSUSUTHEUTGEORADIUS, WHO RETRETURSUMBERSMERBERSCHIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTECIFTERTICIENTREFROMAGREFROMAGEGROMAGEGRAMAGEGRAMAGEGEGEST

Was sind Redis -Funktionen in Version 7? Was sind Redis -Funktionen in Version 7? Jul 28, 2025 am 12:05 AM

Redisfunctionsinversion

Wie vergleichen sich Redis -Streams mit Nachrichtenwarteschlangen wie Rabbitmq oder Kafka? Wie vergleichen sich Redis -Streams mit Nachrichtenwarteschlangen wie Rabbitmq oder Kafka? Jul 30, 2025 am 12:49 AM

RedisStreamSissülobableforlightgewichtin-MemoryStreamprocessingwithinredis, whilkafkaexcelsinhigh-throughput, DurablelogstorageandMQincomplexrouting und GuarantedDelivery.Redissreamswellwellforreal-timalalyticaljobsqueuesWherespeedmattersMattersmattersmattersmattersmattersmattersmattersMalljobsMalljobsmalljobsmalljobsqueueSmassersMalljobsmasersmalljobsqueueTicsMalljobqueueSwherespeedmattersmuthatters,,

Was ist der Zweck der Zeitlimit in Blockierungslistenbefehlen? Was ist der Zweck der Zeitlimit in Blockierungslistenbefehlen? Jul 24, 2025 am 12:48 AM

TimeoutSinRedIsBlockingListCommands -ähnlichemBlpop, BRPOP, orbrpoplpushareSentialforcrolledWaiting.1.TheySpecifyHowlongredisshoitWaitfordatabeForerTurningnil, Verhinderung derIntenfinitierende

See all articles