Currently a senior MySQL DBA & ProxySQL developer. Activities include operational DBA tasks, Ansible automation, Python scripting, C/C++ development of ProxySQL and maintaining the CI/CD ProxySQL build environment. Over the last 15 years my focus has been on open source software implementation and integration at various companies around the world... in addition to drinking colossal quantities of coffee. Yes, I take my coffee very, very seriously.
MySQL replication allows you to write on one writer server and easily scale out reads by redirecting reads to reader servers. But how do we guarantee read consistency with their last write? Galera replication can guarantee that, while MySQL Group Replication and standard MySQL async replication cannot.
If you are running MySQL Server or Percona Server, version 5.7 or newer, with GTID enabled, ProxySQL 2.0 is now able to ensure read consistently with the last write. ProxySQL is able to stream GTID information from all the reader servers, and in real-time is able to determine which reader server(s) is able to execute the SELECT statement producing a resultset that is read consistently with the last write (and GTID) executed by each client.
This presentation will show the technical details that allow you to build an architecture with thousands of ProxySQL instances and MySQL servers, and how GTID information is processed in real-time with limited bandwidth footprint.