Heim  >  Artikel  >  Datenbank  >  Wie wäre es mit einem MySQL-Router?

Wie wäre es mit einem MySQL-Router?

(*-*)浩
(*-*)浩Original
2019-05-25 16:17:272860Durchsuche

Der MySQL-Router wird als Ersatz für den MySQL-Proxy verwendet. Es wird empfohlen, den MySQL-Router und die Anwendung auf demselben Computer bereitzustellen. Die Anwendung greift genau wie MySQL auf MySQL Proxy zu und MySQL Proxy leitet die Daten an das Back-End MySQL weiter. Unterstützt verschiedene Betriebssysteme.

Wie wäre es mit einem MySQL-Router?

Arbeitsmodus

Lesen/Schreiben

wird für Multi-Master-Server verwendet, persönlich Gefühl Es kann für Aktiv und Standby verwendet werden und kann für Multi-Master verwendet werden, um Split-Brain-Probleme zu vermeiden, aber tatsächlich ist nur einer der Multi-Master aktiv. Darüber hinaus ist die Wiederherstellung der Master-Slave- und Multi-Master-Replikation von MySQL mühsam und erfordert manuelle Vorgänge. Im Gegensatz dazu bietet die MySQL-Gruppenreplikation eine einfachere Lösung für die automatische Clusterwartung.

Alle Anfragen werden an den ersten Server gesendet und der nachfolgende zweite Server wird erst verwendet, nachdem der erste Server ausgefallen ist.

Unterstützt die Wiederherstellungserkennung bei ausgefallenen Servern nicht

In den folgenden beiden Situationen ist es nicht verfügbar

Zuerst herunterfahren, dann wiederherstellen, dann wieder herunterfahren Die Maschine

der Master geht zuerst aus, erholt sich dann wieder, und der Slave geht wieder aus

[routing:example_strategy]
bind_port = 7001
destinations = master1.example.com,master2.example.com,master3.example.com
mode = read-writ

schreibgeschützt

wird zum Routen verwendet Slave-Server-Cluster.

Jede Anfrage greift abfragend auf alle Server zu. Wenn ein Server ausfällt, wird es mit dem nächsten Server versucht. Wenn alle Server ausfallen, wird das Routing beendet. Die wieder verfügbaren Server werden in der ursprünglichen Reihenfolge wieder zur verfügbaren Liste hinzugefügt

[routing:ro_route]
bind_port = 7002
destinations = slave1.example.com,slave2.example.com,slave3.example.com
mode = read-only

Start

mysqlrouter --config=/path/to/file/my_router.ini

Sie müssen maxStatements=0 der Datenbank festlegen Verbindungspool auf 0, andernfalls Wenn der Host-Computer ausfällt, kann der Verbindungspool die entsprechende Anweisung auf dem Standby-Computer nicht finden und meldet einen Fehler.

Leistung

ist viel höher als bei MySQL Proxy und der Leistungsverlust ist im Vergleich zu einer direkten MySQL-Verbindung sehr gering.

Das obige ist der detaillierte Inhalt vonWie wäre es mit einem MySQL-Router?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was ist ein Router in MySQL?Nächster Artikel:Was ist ein Router in MySQL?