MySQL for Database Failover
There is a fair amount misinformation in dealing with MySQL failover. On the MySQL JDBC URL, there is an option to allow multiple servers to be configured and load balanced. Unfortunately, in order to really tune the configuration, it requires additional application code level changes (https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-multi-host-connections.html). Many customers don’t understand the implications of having to code and TEST all the corner cases that this coding and configuration involved. In addition, due to the common use of master/slave configurations, the issue of orchestration is left for the operations team to deal with. The MariaDB team provides a rudimentary product called MaxScale to provide load balancing between MariaDB nodes, so as to avoid the issues with modifying the application, but this adds to the complexity of the configuration. It can take a well-trained developer 3 days to configure. Further, in cloud environments that don’t support true floating IPs, the handling of the proxy failure can impact the application just as much as the database failing, and adds another layer of complexity in testing and operational maintenance. Heimdall resolves all these issues in a canned platform that allows many different architectures to be used, meeting the needs of different environments, all without additional coding or adding extra hops that need failure management on their own. Along with the granular performance visibility, application owners get rich analytics of potential performance bottlenecks at the data access layer.