Arquitectura de alta disponibilidad de MySQL

Cuando se considera la arquitectura de alta disponibilidad de la base de datos MySQL, se considera principalmente a partir de los siguientes aspectos:

  1. Si la base de datos se cae o se interrumpe inesperadamente, puede restaurar la disponibilidad de la base de datos lo antes posible, reducir el tiempo de inactividad tanto como sea posible y asegurarse de que el negocio no se interrumpirá debido a una falla en la base de datos.
  2. Los datos del nodo no primario utilizado para copia de seguridad, copia de solo lectura y otras funciones deben ser consistentes con los datos del nodo primario en tiempo real o eventualmente.
  3. Cuando se produce un cambio de base de datos en una empresa, el contenido de la base de datos antes y después del cambio debe ser coherente, y la empresa no se verá afectada debido a la falta de datos o datos inconsistentes.

Hablando de la alta disponibilidad de MySQL, tenemos que mencionar la replicación, que es la base de la alta disponibilidad de MySQL. Los siguientes son los problemas resueltos por "copia":

  1. Implementar copia de seguridad de datos
  2. Si hay un servidor esclavo, después de que el servidor maestro falla, la función de escritura del servidor esclavo se habilita para proporcionar funciones de uso altamente disponibles.
  3. Recuperación de desastres fuera del sitio
  4. Escalar el servidor maestro de carga: escribir, servidor esclavo: leer

Proceso de replicación maestro-esclavo

Diferentes acuerdos de replicación:

Arquitectura de replicación de alta disponibilidad.

Arquitectura de alta disponibilidad de mysql

Arquitectura de MySQL Cluster

Restrinja el motor de almacenamiento al motor de almacenamiento NDB:

Arquitectura MySQL + MMM

MMM es Master-Master Replication Manager para MySQL (mysql master master replication manager), es un conjunto de conjuntos de scripts escalables para el monitoreo, la conmutación por error y la administración de la configuración de replicación maestra mysql master (solo se puede escribir un nodo en cualquier momento En), esta suite también se puede basar en la configuración estándar maestro-esclavo para cualquier número de servidores esclavos para leer el equilibrio de carga, por lo que puede usarlo para iniciar una IP virtual en un grupo de servidores replicados, además, tiene implementación Script para copia de seguridad de datos y resincronización entre nodos.
 MySQL en sí no proporciona una solución para la conmutación por error de replicación. La solución MMM puede lograr la conmutación por error del servidor, logrando así una alta disponibilidad de mysql.

Características de este programa:

  1. Alta seguridad, estabilidad y buena escalabilidad.
  2.  Se requieren al menos tres o más servidores
  3.  Para maestro doble (los requisitos de replicación maestro-esclavo son más altos)
  4. También puede lograr la separación de lectura-escritura

Arquitectura MySQL + MHA

MHA también debería ser una solución relativamente madura y común en el programa de alta disponibilidad MySQL. Fue desarrollado por los japoneses. Durante el proceso de conmutación por error de MySQL, MHA puede lograr operaciones de conmutación rápidas y automáticas, y también puede mantener la consistencia de los datos al máximo. .

Características de esta arquitectura:

  1. Instalación y despliegue simple, no afecta la estructura existente.
  2. Monitoreo automático y failover
  3. Garantizar la coherencia de los datos.
  4. El modo de conmutación por error puede utilizar la selección multidireccional manual o automática
  5. Amplia adaptabilidad (aplicable a cualquier motor de almacenamiento)

Resumen

A medida que los requisitos de la gente para la consistencia de los datos continúan aumentando, se intentan cada vez más métodos para resolver el problema de la consistencia de los datos distribuidos, como la optimización de MySQL en sí, la optimización de la arquitectura de clúster de MySQL, Paxos, Raft, el algoritmo 2PC La introducción y demás.

El uso de algoritmos distribuidos para resolver el problema de la consistencia de los datos de la base de datos MySQL también es cada vez más aceptado por la gente.Una serie de productos maduros como PhxSQL, MariaDB Galera Cluster, Percona XtraDB Cluster, etc. Uso a escala.

Con la AG de MySQL Group Replication oficial, el uso de protocolos distribuidos para resolver problemas de consistencia de datos se ha convertido en la dirección principal. Se espera que se propongan más y más soluciones excelentes, y los problemas de alta disponibilidad de MySQL pueden resolverse mejor.

Publicado 6 artículos originales · recibido 1 · vistas 655

Supongo que te gusta

Origin blog.csdn.net/DY1316434466/article/details/105439633
Recomendado
Clasificación