Architecture haute disponibilité MySQL

Lorsque l'on considère l'architecture hautement disponible de la base de données MySQL, elle est principalement considérée sous les aspects suivants:

  1. Si la base de données est arrêtée ou interrompue de façon inattendue, vous pouvez restaurer la disponibilité de la base de données dès que possible, réduire autant que possible les temps d'arrêt et vous assurer que l'entreprise ne sera pas interrompue en raison d'une défaillance de la base de données.
  2. Les données du nœud non principal utilisées pour la sauvegarde, la copie en lecture seule et d'autres fonctions doivent être cohérentes avec les données du nœud principal en temps réel ou éventuellement.
  3. Lorsqu'un changement de base de données se produit dans une entreprise, le contenu de la base de données avant et après le commutateur doit être cohérent et l'entreprise ne sera pas affectée en raison de données manquantes ou de données incohérentes.

En parlant de la haute disponibilité de MySQL, nous devons mentionner la réplication, qui est le fondement de la haute disponibilité de MySQL. Voici les problèmes résolus par la «copie»:

  1. Mettre en œuvre la sauvegarde des données
  2. S'il y a un serveur esclave, après la défaillance du serveur maître, la fonction d'écriture du serveur esclave est activée pour fournir des fonctions d'utilisation hautement disponibles
  3. Reprise après sinistre hors site
  4. Mettre à l'échelle le serveur maître de charge: écriture, serveur esclave: lecture

Processus de réplication maître-esclave

Différents accords de réplication:

Architecture de réplication hautement disponible

Architecture haute disponibilité Mysql

Architecture du cluster MySQL

Restreignez le moteur de stockage au moteur de stockage NDB:

Architecture MySQL + MMM

MMM est Master-Master Replication Manager pour MySQL (mysql master master replication manager), est un ensemble de suites de scripts évolutives pour la surveillance, le basculement et la gestion de la configuration de la réplication mysql master master (un seul nœud peut être écrit à la fois Dans), cette suite peut également être basée sur la configuration maître-esclave standard d'un nombre illimité de serveurs esclaves pour lire la balance de charge, vous pouvez donc l'utiliser pour démarrer une adresse IP virtuelle sur un groupe de serveurs de réplication Script pour la sauvegarde des données et la resynchronisation entre les nœuds.
 MySQL lui-même ne fournit pas de solution pour le basculement de la réplication. La solution MMM peut atteindre le basculement du serveur, assurant ainsi une haute disponibilité de mysql.

Caractéristiques de ce programme:

  1. Haute sécurité, stabilité et bonne évolutivité
  2.  Au moins trois serveurs ou plus sont requis
  3.  Pour double maître (les exigences de réplication maître-esclave sont plus élevées)
  4. Il peut également réaliser une séparation lecture-écriture

Architecture MySQL + MHA

MHA devrait également être une solution relativement mature et courante dans le programme de haute disponibilité MySQL. Il a été développé par les Japonais. Pendant le processus de basculement de MySQL, MHA peut réaliser des opérations de commutation rapides et automatiques, et il peut également maintenir la cohérence des données au maximum .

Caractéristiques de cette architecture:

  1. Installation et déploiement simples, n'affecte pas la structure existante
  2. Surveillance et basculement automatiques
  3. Assurer la cohérence des données
  4. Le mode de basculement peut utiliser une sélection multidirectionnelle manuelle ou automatique
  5. Large adaptabilité (applicable à tout moteur de stockage)

Résumé

Alors que les exigences des gens en matière de cohérence des données continuent d'augmenter, de plus en plus de méthodes sont essayées pour résoudre le problème de la cohérence des données distribuées, telles que l'optimisation de MySQL lui-même, l'optimisation de l'architecture de cluster MySQL, Paxos, Raft, l'algorithme 2PC L'introduction et ainsi de suite.

L'utilisation d'algorithmes distribués pour résoudre le problème de la cohérence des données de la base de données MySQL est également de plus en plus acceptée par les gens. Une série de produits matures tels que PhxSQL, MariaDB Galera Cluster, Percona XtraDB Cluster, etc. sont de plus en plus populaires. Utilisation de l'échelle.

Avec l'AG de la réplication officielle du groupe MySQL, l'utilisation de protocoles distribués pour résoudre les problèmes de cohérence des données est devenue la direction principale. On s'attend à ce que de plus en plus d'excellentes solutions soient proposées et les problèmes de haute disponibilité de MySQL puissent être mieux résolus.

Publié 6 articles originaux · reçu 1 · vues 655

Je suppose que tu aimes

Origine blog.csdn.net/DY1316434466/article/details/105439633
conseillé
Classement