Maison  >  Article  >  base de données  >  Qu'en est-il du routeur MySQL

Qu'en est-il du routeur MySQL

(*-*)浩
(*-*)浩original
2019-05-25 16:17:272893parcourir

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.

Qu'en est-il du routeur MySQL

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn