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:
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/
Continuar leyendo:
Kubernetes ahora tiene un Node Readiness Controller: porque "ready" es un término relativo
Node Readiness Controller permite definir scheduling gates personalizados.
Leer más →
La gran unificación de google cloud: opentelemetry se vuelve obligatorio (y ya era hora)
Si pensabas que podrías seguir ignorando el avance de OpenTelemetry (OTel) mientras te escondías en tus scripts legacy, Google Cloud acaba de enviarte un recordatorio amistoso —o una amenaza elegante, según cómo lo mires—. La plataforma ha lanzado una nueva API de ingestión que soporta de forma nativa los protocolos