2016-08-05 12 views
0

Ich habe eine Instanz der 2. Generation mit einer Failover-Instanz hinzugefügt. Aber von Zeit zu Zeit bekomme ich Fehler in meiner Anwendung: "Konnte keine Verbindung zu einem der angegebenen MySQL-Hosts". Warum wechselt es nicht zum Failover?Google Cloud SQL-Failover startet nicht

Laut Google-Dokumentation Ich brauche keine weiteren Änderungen an meiner Anwendung zu tun, um die Failover-Server (https://cloud.google.com/sql/docs/high-availability#how_failover_affects_your_applications_and_your_instances) zu verbinden:

Wenn ein Zonenausfall und Ihre Master ausfällt, um Failover über Replik, alle bestehenden Verbindungen zu der Instanz sind geschlossen. Ihre Anwendung kann jedoch die Verbindung mit derselben Verbindungszeichenfolge oder IP-Adresse wiederherstellen. benötigen Sie nicht, um Ihre Anwendung nach einem Failover zu aktualisieren.

Ich habe auch versucht, die Master-Instanz neu zu starten, den Failover zu testen, von Google-Dokumentation:

Testen Sie, wie Ihre Anwendung Verbindungen von restarting your instance verloren reagiert.

Und während es neu zu starten, erhalte ich auch die „leider nicht möglich, jede der angegebenen MySQL-Hosts verbinden“ Fehlermeldung auf meiner Anwendung.

PD: Meine Anwendung ist nicht gehostet mit Google Cloud Platform-Servern (auf Linode), glauben Sie, dass die Fehler durch die Netzwerkverbindung zwischen meinem Server und Google verursacht werden? Aber wenn ich den Master manuell neu starte, sollte er das Failover starten.

Antwort

0

Failover-Replikate sind für Zonenausfälle gedacht. Der Failover-Prozess ist nicht vollständig nahtlos, und während des Failovers können unterbrochene Verbindungen angezeigt werden. Der Failover wird nicht während des Neustarts der Instanz ausgelöst, da diese normalerweise einige Sekunden benötigen, um wieder zu kommen. Gebietsausfälle können möglicherweise viel länger dauern.