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-operator/deploy at 8.2.0-2.1.1 · mysql/mysql-operator
MySQL Operator for Kubernetes. Contribute to mysql/mysql-operator development by creating an account on GitHub.

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

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/

Comment using your social account:

You will be asked to grant read-only access to your public profile and email address only to verify your identity. We will never post to your account. Select your preferred social account to get started.
Service provided by Spectral Web Services.

  |