La séparation lecture-écriture est mise en œuvre sur la base de la réplication maître-esclave. Dans un environnement d'application réel, il doit y avoir de nombreuses opérations de lecture. Tout comme lorsque nous achetons quelque chose sur une plateforme de commerce électronique, nous pouvons n'en acheter qu'un ou deux après avoir consulté 100 articles. Par conséquent, il y a toujours beaucoup plus d’opérations de lecture que d’opérations de mise à jour en écriture. Par conséquent, notre configuration de séparation lecture-écriture basée sur la réplication maître-esclave signifie qu'une base de données maître est dédiée à la modification des données. Lors de l'écriture, elle est écrite exclusivement sur la base de données maître. La base de données maître synchronise les modifications des données sur l'esclave via maître-esclave. réplication via la bibliothèque binlog., puis les autres requêtes du client seront éventuellement mappées à la bibliothèque esclave, et nous avons une bibliothèque principale avec deux ou trois bibliothèques esclaves. La bibliothèque principale est spécialement utilisée pour mettre à jour les données (opérations d'écriture) et l'esclave. La bibliothèque est spécialement utilisée pour mettre à jour les données (opérations d'écriture). Elle est utilisée pour les opérations de lecture, ce qui peut bien répartir la pression de lecture et d'écriture. Elle n'a pas besoin d'être concentrée sur la base de données principale. services back-end. De plus, il offre une haute disponibilité et une reprise après sinistre. Lorsque la bibliothèque principale est en panne, la bibliothèque esclave spécifiée peut être transformée en bibliothèque principale.
séparation lecture-écriture doit s'appuyer sur le middleware de la base de données. Deuxièmement, introduisez le middleware MyCat
En fait, la séparation de la lecture et de l'écriture, ainsi que des sous-bases de données et des tables, doit toutes s'appuyer sur le middleware de base de données (mycat), et mycat est le rôle du serveur proxy.Le client ne peut pas réellement dire s'il est connecté à MyCat ou MySQL, car la communication suit le protocole de communication MySQL auparavant, c'est la façon dont vous communiquez avec MyCat maintenant, il n'est donc pas nécessaire de faire la distinction.
En configurant la séparation lecture-écriture sur MyCat
, nous n'avons pas besoin d'apporter de modifications au code sur le client. Il n'est pas nécessaire de distinguer quelle requête est lue et quelle requête est écrite. Le code accède directement à MyCat, et MyCat analyse la demande et la transmet au serveur responsable de l'opération correspondante en fonction de la nature de lecture et d'écriture de SQL pour obtenir une séparation en lecture et en écriture.Vous devez configurer les informations du serveur maître et des serveurs esclaves sur MyCat
Il existe trois situations :Un maître et un esclave, un maître et plusieurs esclaves, et plusieurs maîtres et plusieurs esclavesUn maître et. scénario d'esclaves multiples : Lorsque l'écriture d'une bibliothèque (maître) raccroche, MyCat peut également transformer immédiatement une bibliothèque esclave (esclave) directement en bibliothèque d'écriture (maître), ce qui équivaut à revenir au traitement d'une machine, car il n'y a pas maître-esclave entre la bibliothèque esclave et la configuration de réplication, nous devons donc également configurer la réplication maître-esclave entre la bibliothèque esclave qui devient la bibliothèque d'écriture et les autres bibliothèques esclaves.
Plusieurs maîtres et plusieurs esclaves :
Comme vous pouvez le voir sur l'image, le serveur MyCat dispose de deux ensembles d'environnements si la base de données maître de l'un d'entre eux est en panne (sa base de données esclave correspondante le sera également. indisponible), à ce moment-là, MyCat passera automatiquement à un autre ensemble d'environnements, car M1 et M2 sont également configurés comme maître-esclave mutuel
3. Port de service MyCat et port de gestion
Le port du service MySQL est 3306,MyCat dispose également d'un port de gestion 9066 Connectez-vous à ce port de gestion pour afficher tout l'état du travail de MyCat et la connexion au serveur back-end, ainsi que l'état de la connexion à la source de données, etc.
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!