ScaleArc

Auto Failover for MySQL

Leverage MySQL replication for failover that avoids application errors.

Enable automatic database failover that prevents application errors.

ScaleArc has a built-in auto failover module that detects MySQL server failures and performs role changes within the ScaleArc cluster. ScaleArc is the only solution that provides automatic failover by handling both replication and client connection.

ScaleArc supports a range of architectural models, including:

Synchronous Replication 
ScaleArc has deep integration with Percona Galera XtraDB so that you can achieve the benefits of auto failover with a single click of the mouse.

Asynchronous Replication
When paired with asynchronous replication architectures, ScaleArc performs additional replication-related checks to ensure minimal data loss. The replication checks include checking replication log records to make sure the new master's logs are as current as possible.

External RESTful API Call Out
For customers wanting further customization of the replication handling, ScaleArc offers a RESTful API call out as one of the options.

No Changes to Connection String
ScaleArc achieves MySQL availability for a cluster by advertising and managing a floating virtual IP for the application servers to connect to, abstracting the individual MySQL servers.

Surge Protection
Once the current Master is detected as failed, ScaleArc engages the surge queue  to queue writes, avoiding application errors.

Zero Downtime Maintenance
You can also trigger the ScaleArc failover function manually to support zero downtime maintenance.

MySQL server failures account for the majority of downtime for apps dependent on that database. Achieving complete MySQL failover depends on accurate replication between the servers and redirection of client connections. Traditional multi-master MySQL setups can run into replication conflicts if the application accidentally sends writes to both masters, which has limited deployment of this architecture. In master/slave setups, promoting one of the slaves to become the new master after a failure requires manual intervention.This manual failover process commonly leads to significant downtime, since the app servers need to register the change in their connection strings. New technologies like Percona XtraDB cluster have solved most of the replication challenges, but the piece that handles client connections is still missing. Traditional TCP load balancers cannot be used for data traffic handling, since they do not understand the nuances of SQL connection handling and lack replication awareness. ScaleArc is the only solution that provides automatic failover by handling both replication and client connections.

ScaleArc has a built-in auto failover module that detects MySQL server failures and performs role changes within the ScaleArc cluster. ScaleArc performs constant health monitoring of the MySQL servers and recognizes server failures as soon as possible. Once the current master is detected as failed, ScaleArc engages the surge queue to queue the writes. The reads can be served from the read-only or standby read servers within the cluster throughout the failover process. To complete the failover, ScaleArc initiates the healing mechanism by finding the most up-to-date standby read server within the cluster, which should be used as the new master.

Where synchronous replication is in place, the ScaleArc software identifies the new master server, marks the failed master as a standby read server, and marks the newly identified master as the read+write server. Where asynchronous replication is in place, ScaleArc performs some additional replication-related checks to ensure minimal data loss. The replication checks include checking replication log records to make sure the new master's logs are as current as possible. Once ScaleArc completes the replication checks, it marks the failed master as a standby read server and marks the newly identified master as the read+write server.

For customers wanting further customization of the replication handling, ScaleArc offers a RESTful External API call out as one of the options. The External API script can be executed within ScaleArc or executed on any application server. Using the External API, you can tailor the ScaleArc setup to suit any MySQL master/slave topology. In some cloud deployments, for example, customers have chosen to use the External API to handle master/slave topology, with the ability to convert the slave to a standalone MySQL server after master failure. In this case, the MySQL DBA creates a new slave from the newly promoted master and adds the new slave to the ScaleArc cluster. Using auto failover, the DBA can perform maintenance during the day and have ScaleArc manage failures to avoid application downtime.

ScaleArc achieves MySQL availability for a cluster by advertising and managing a floating virtual IP for the application servers to connect to, abstracting the individual MySQL servers. ScaleArc is a full SQL proxy, so the application servers do not need any connection string changes for failover.