Replicación de líder único en MySQL con Node.js y Docker

Guía para montar una arquitectura maestro-replica en MySQL con Docker y Docker Compose (1 maestro, 3 réplicas), y conectarla a Node.js con Sequelize para enrutar escrituras al maestro y lecturas a las réplicas.

18 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Las aplicaciones modernas exigen alta disponibilidad y capacidad para escalar lecturas sin sacrificar rendimiento. Una estrategia habitual para conseguirlo es la replicación con un único líder que recibe todas las escrituras mientras varios réplicas atienden las lecturas. En este artículo explico cómo montar replicación de líder único en MySQL en local usando Docker y cómo conectar ese clúster a una aplicación Nodejs con Sequelize para que las lecturas se dirijan a réplicas y las escrituras al maestro.

Descripción general del entorno que construiremos: un contenedor mysql maestro y tres réplicas, orquestados con docker compose, y una pequeña API en Nodejs que muestra en tiempo real cómo Sequelize enruta operaciones de escritura al maestro y lecturas a los nodos esclavos.

Preparación y requisitos: conocimientos básicos de replicación de bases de datos, docker y docker compose, y Nodejs. También es recomendable experiencia con servicios cloud y seguridad si se va a trasladar a producción.

Archivo docker compose: en la raíz del proyecto cree un archivo docker-compose.yml que defina un servicio mysql-master y tres servicios mysql-slave. Cada instancia debe tener un server-id único y el registro binario activado para que la replicación funcione correctamente. En la práctica el parámetro clave es --server-id y opcionalmente binlog_format=ROW para forzar formato de binlog por filas.

Paso previo: levantar los contenedores con el comando docker-compose up -d y comprobar que los contenedores mysql-master y las tres réplicas están activos.

Configuración del maestro: acceder al contenedor maestro con docker exec -it mysql-master bash y luego ejecutar mysql -uroot -p para entrar al cliente MySQL. Crear un usuario de replicación con permisos adecuados para que las réplicas puedan conectarse. Por ejemplo ejecutar en MySQL las sentencias CREATE USER repl_user@% IDENTIFIED BY replication_pass; GRANT REPLICATION SLAVE ON *.* TO repl_user@%; FLUSH PRIVILEGES; Esto crea el usuario de réplica y le otorga permisos de replicación.

Configuración de las réplicas: en cada contenedor réplica acceder con docker exec -it nombre_contenedor bash y entrar al cliente MySQL con mysql -uroot -p. Configurar el origen de replicación indicando host, usuario y contraseña del maestro. Un ejemplo de sentencia sería CHANGE REPLICATION SOURCE TO SOURCE_HOST=mysql-master, SOURCE_USER=repl_user, SOURCE_PASSWORD=replication_pass, GET_SOURCE_PUBLIC_KEY=1; Después arrancar la replicación con START REPLICA; y verificar el estado con SHOW REPLICA STATUS; Comprobar que Replica_IO_Running y Replica_SQL_Running aparecen como Yes para confirmar que la réplica se está sincronizando.

Integración con Nodejs y Sequelize: en el proyecto Node instale dependencias con npm i express mysql2 sequelize e incluya una carpeta src con la lógica de conexión y modelos. La configuración de Sequelize para replicación incluye un bloque replication donde se especifica el write host que apunta al maestro y un arreglo read con los hosts de las réplicas. Por ejemplo indicar write host 127.0.0.1 puerto 3306 usuario root password master database replicaDb y en read tres nodos en 127.0.0.1 con puertos 3307 3308 3309 usuario root password slave database replicaDb.

Comportamiento esperado: cuando ejecute sequelize.sync y use modelos como User, todas las operaciones de INSERT UPDATE DELETE se enviarán al write connection que es el maestro, mientras que las consultas SELECT se balancearán entre los nodos de lectura. Esto permite escalar lecturas y observar la replicación en tiempo real al comprobar que los datos insertados en el maestro aparecen luego en las réplicas.

Ejemplo de endpoints: crear un POST /user que reciba name y email y haga new User y save para insertar en el maestro. Crear un GET /user que haga User.findAll para leer desde una réplica. Al realizar un POST después puede comprobar en las réplicas que los datos se han propagado.

Limitaciones y siguientes pasos: Sequelize gestiona el enrutado de lecturas y escrituras pero no implementa conmutación por error automática si el maestro cae. Para entornos productivos hay que añadir mecanismos de alta disponibilidad y election de líderes, backups, y monitorización. También conviene asegurar la comunicación entre nodos y aplicar prácticas de ciberseguridad y hardening.

En Q2BSTUDIO como empresa de desarrollo de software ofrecemos soporte para montar arquitecturas de replicación, despliegue en servicios cloud aws y azure y soluciones a medida para escalar bases de datos y aplicaciones. Si necesita una solución profesional para aplicaciones a medida y software a medida podemos ayudarle a diseñar, implementar y asegurar la infraestructura. Conozca nuestras soluciones de software a medida y aplicaciones multiplataforma y cómo adaptarlas a sus requisitos.

Además podemos integrar capacidades de inteligencia artificial y análisis con agentes IA y Power BI para obtener inteligencia de negocio a partir de sus datos. Si le interesa explorar opciones de automatización, seguridad y analítica, consulte nuestros servicios de inteligencia artificial para empresas y combine ello con auditorías de ciberseguridad, pentesting y despliegue en la nube. Palabras clave relevantes para este artículo: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Resumen final: montar replicación maestro-replicas con Docker y MySQL permite escalar lecturas y ver replicación en tiempo real. Conectar ese clúster a una aplicación Nodejs mediante Sequelize facilita el enrutado de consultas. Para producción se recomiendan medidas adicionales de HA, monitoring, copias de seguridad y procedimientos de conmutación por error, áreas en las que Q2BSTUDIO puede acompañarle como partner tecnológico.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat