Automatic Failovers with Kubernetes using Orchestrator, ProxySQL and Zookeeper

Tuesday 3:50PM-4:40PM

@ Room M1

Service Discovery

50 minutes conference



In this session, we will discuss our fully automated failover solution running in containers on Kubernetes. Using Orchestrator for MySQL failovers, ProxySQL to route queries and a Zookeeper-backed application we wrote called Taiji for service discovery, database failures and topology changes are handled without any human intervention. This system is tolerant to network partitions and connectivity issues, node failures, and even full region outages.

After adding additional functionality to Orchestrator, we have it deployed with the raft consensus protocol and automatic failovers enabled. ProxySQL is deployed alongside a Taiji container that watches for changes in Zookeeper. All topology changes are automatically pushed to Zookeeper via Orchestrator callback scripts and a Taiji agent that performs health checks on databases. In less than a second, these changes are pushed to ProxySQL, so our application will seamlessly begin sending read and write queries to the proper database.


Jordan Wheeler

Jordan Wheeler (Shopify)

Database Engineer


Jordan has been at Shopify for the past 5 years, and spent the past 3 years there working on MySQL high availability, automation, and performance tuning.

Sami Ahlroos

Sami Ahlroos (Shopify)

Database Engineer


Sami is a database engineer at Shopify. Before joining Shopify in 2016 he worked on a leading European social networking site. Sami has been in tech since 1998, mostly working with open source technologies. Sami is located in Hamburg, Germany.


  Download Slides  

Connect with Percona

Stay Connected on:

Percona Live Conferences

The Percona Live Open Source Database Conferences are the premier event for the diverse and active open source database community, as well as businesses that develop and use open source database software.

Contact Us

For general information about the event/expo/conference, including registration, please contact us at:

  • info(@)
  • +1-888-401-3401
  • +1-919-948-2863