Rendere la replica del database MySQL Utilizzare sempre il nodo più gratuito?
-
19-09-2019 - |
Domanda
Abbiamo iniziato a utilizzare Multi-Master Replication Manager per MySQL e mi chiedo se sia possibile trattare questa configurazione come l'elaborazione multi-simmetrica: un processo si spegne nella coda del processo e il nodo (in questo caso un server) che è La maggior parte gratuita è selezionata per il lavoro.
Sembra che ciò che accade è che il servizio passa a uno schiavo solo quando mysqld si schianta o se ne va.
C'è un modo per effettuare la replica del database per MySQL ACT in modo più distribuito? Forse c'è altro software oltre a MMM che può farlo?
C'è un modo per cambiare il ruolo del lettore su un altro server quando MySQLD rallenta (piuttosto che solo quando fallisce)?
Soluzione
Con la replica multi-master MySQL non è sicuro scrivere a nodi arbitrari nel caso generale. Questo perché è asincrono.
Scrivi sempre allo stesso nodo. Voglio dire sempre. Scrivi sempre all'altro nodo se sei sicuro che sia giù, e sei sicuro che prima che andasse giù, l'intero binlog è stato elaborato.
In pratica questo significa scrivere sempre a un nodo.
In ogni caso, la diffusione della scrittura tra diversi nodi non farà nulla per aumentare le prestazioni della scrittura poiché entrambi i nodi devono comunque fare tutte le scritture.