MySQL 8.2 is what we were all waiting for for Kubernetes with Transparent Read/Write Splitting

Oracle recently announced the general availability of MySQL 8.2 , which includes support for read/write splitting . This long-awaited feature was introduced in the latest innovation release (an equivalent of a "release candidate"), which helps optimize database performance and scalability .

Read-write splitting allows applications to transparently direct all write traffic to read-write instances (primary/sources) and all read traffic to read-only instances, depending on the instance type (InnoDB Cluster or Replica). Cluster).

Frederic Descamps , MySQL community manager, explains:

"At large scale, we distribute reads across replicas, but this must be managed somehow in the application: pointing writes to one place and reads to another place. Since MySQL 8.2, MySQL Router can now identify reads and writes, and then route them to primary instances in the case of an InnoDB cluster, or to an asynchronous replication source for writes and to secondary instances or replicas for reads."

You can perform a simple PoC (proof of concept) yourself, using 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.

You will need to deploy the following manifests:

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 (edit recommended)

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

Based on: https://www.infoq.com/news/2023/11/mysql-read-write-splitting/

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

Nicolás Georger

Nicolás Georger

Self-taught IT professional driving innovation & social impact with cybernetics, open source (Linux, Kubernetes), AI & ML. Building a thriving SRE/DevOps community at SREDevOps.org. I specialize in simplifying solutions through cloud native technologies and DevOps practices.