Maison > Article > base de données > Qu'en est-il du routeur MySQL
MySQL Router est utilisé pour remplacer MySQL Proxy. Il est recommandé de déployer MySQL Router et l'application sur la même machine. L'application accède au proxy MySQL tout comme MySQL, et MySQL Proxy transmet les données au back-end MySQL. Prend en charge divers systèmes d'exploitation.
Le mode de fonctionnement
lecture-écriture
est utilisé pour les serveurs multi-maîtres, personnels sentiment Il peut être utilisé en mode actif et en veille, et peut être utilisé pour le multi-maître pour éviter les problèmes de split-brain, mais en fait, un seul des multi-maîtres est actif. De plus, la réplication maître-esclave et multi-maître de MySQL est difficile à restaurer et nécessite des opérations manuelles. En revanche, MySQL Group Replication fournit une solution de maintenance automatique de cluster plus simple.
Toutes les requêtes sont envoyées au premier serveur, et le deuxième serveur suivant ne sera utilisé qu'après la panne du premier serveur.
Ne prend pas en charge la détection de récupération de serveur en panne
Il ne sera pas disponible dans les deux situations suivantes
D'abord en panne, puis restauré, puis à nouveau en panne La machine
le maître tombe en panne d'abord, puis récupère, et l'esclave redescend
[routing:example_strategy] bind_port = 7001 destinations = master1.example.com,master2.example.com,master3.example.com mode = read-writ
lecture seule
est utilisé pour acheminer le cluster de serveurs esclaves.
Chaque requête accède à tous les serveurs de manière interrogée. Si un serveur tombe en panne, le serveur suivant sera essayé. Si tous les serveurs tombent en panne, le routage prendra fin. Les serveurs rédisponibles seront de nouveau ajoutés à la liste disponible dans l'ordre d'origine
[routing:ro_route] bind_port = 7002 destinations = slave1.example.com,slave2.example.com,slave3.example.com mode = read-only
Démarrer
mysqlrouter --config=/path/to/file/my_router.ini
Vous devez définir maxStatements=0 de la connexion à la base de données pool à 0, sinon lorsque la machine hôte tombe en panne, le pool de connexions ne pourra pas trouver l'instruction correspondante sur la machine de secours et signalera une erreur. Les
Les performances
sont bien supérieures à celles du proxy MySQL et la perte de performances est très faible par rapport à la connexion directe à MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!