The Ops Community ⚙️

Nicolás Georger for SREDevOps.org

Posted on • Originally published at sredevops.org on

MySQL 8.2 es lo que todos estábamos esperando para Kubernetes con Transparent Read/Write Splitting

MySQL 8.2 es lo que todos estábamos esperando para Kubernetes con Transparent Read/Write Splitting

Oracle ha anunciado recientemente la disponibilidad general de MySQL 8.2 , que incluye soporte para división de lectura/escritura (read/write splitting). Esta característica tan esperada se introdujo en la última versión de innovación (un equivalente a "release candidate"), que ayuda a optimizar el rendimiento y la escalabilidad de la base de datos.

Read-write splitting permite a las aplicaciones dirigir de forma transparente todo el tráfico de escritura a instancias de lectura-escritura (primarias/sources) y todo el tráfico de lectura a instancias de sólo lectura, dependiendo del tipo de instancia (InnoDB Cluster o Replica Cluster).

Frederic Descamps , administrador de la comunidad MySQL, explica:

"A gran escala, distribuimos las lecturas entre las réplicas, pero esto debe gestionarse de alguna manera en la aplicación: apuntando las escrituras a un lugar y las lecturas a otro lugar. Desde MySQL 8.2, MySQL Router ahora puede identificar las lecturas y escrituras, para luego enrutarlas a instancias primarias en el caso de un clúster InnoDB, o a una fuente de replicación asincrónica para las escrituras y a instancias secundarias o réplicas para las lecturas."

Puedes realizar tu mismo una simple PoC (proof of concept/prueba de concepto), utilizando mysql-operator:

MySQL 8.2 es lo que todos estábamos esperando para Kubernetes con Transparent Read/Write Splitting
](https://github.com/mysql/mysql-operator/tree/8.2.0-2.1.1/deploy?ref=sredevops.org)

Necesitarás desplegar los siguientes manifiestos:


kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/deploy/deploy-crds.yaml" # CRDs

kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/deploy/deploy-operator.yaml" # Operator

kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/samples/sample-secret.yaml" # Secret (recomendado editar)

kubectl apply -f "https://github.com/mysql/mysql-operator/blob/8.2.0-2.1.1/samples/sample-cluster.yaml" # Cluster 3 instancias 1 router

Enter fullscreen mode Exit fullscreen mode

Basado en: https://www.infoq.com/news/2023/11/mysql-read-write-splitting/

Lectura complementaria: https://lefred.be/content/mysql-8-2-read-write-splitting-a-what-cost/

Top comments (2)

Collapse
 
milena_c_2beafb4dd447818b profile image
milena Accuweb.cloud

Great update read/write splitting in MySQL 8.2 makes scaling much easier, especially in Kubernetes environments. With MySQL Router handling traffic automatically, it reduces application-level complexity and improves performance.
To run this efficiently in production, platforms like AccuWeb.Cloud provide scalable infrastructure and reliable uptime. This helps you deploy and manage database clusters smoothly while taking full advantage of modern MySQL features.

Collapse
 
jackjack78 profile image
jack

MySQL 8.2 makes it easier to manage databases in Kubernetes! With Transparent Read/Write Splitting, apps can run faster and more smoothly. This is great news for developers and businesses using MySQL.