I'm a Site Reliability Engineer at Indeed where get to play with all types of technologies such as load-balancing and service discovery, prior to that I worked in electronic trading solutions for the global financial marketplace. I love distributed systems, automation and databases.
Scaling MySQL infrastructure is challenging, traditional setup don't scale horizontally and require manual configuration management.
This talk is about how we scaled MySQL infrastructure at Indeed. Using HaProxy, we dynamically take backends in/out of rotation based on replication lag. Through this proxy, we load-balance reads across a pool of replicas, ensure replication lag is below a threshold, and easily take replicas out of rotation for maintenance, removing the work of manually updating application's configuration.
You will also learn about different routing strategy we use, such as fail-to-primary vs fail-open, and about surprising application connection pool's behaviors we learned along the way.