Heim >Datenbank >MySQL-Tutorial >Wie wäre es mit einem MySQL-Router?
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.
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!