![Lead Image © lightwise, 123RF.com Lead Image © lightwise, 123RF.com](/var/ezflow_site/storage/images/archive/2016/32/mariadb-maxscale-a-smart-proxy-for-mysql/po-24430-123rf-lightwise_123rf-verwirrend_schl_ngelnde_stra_szlig_en_mit_schildern__resized.png/123861-1-eng-US/PO-24430-123RF-lightwise_123RF-Verwirrend_schl_ngelnde_Stra_szlig_en_mit_Schildern__resized.png_medium.png)
Lead Image © lightwise, 123RF.com
MariaDB MaxScale: A smart proxy for MySQL
Director
MySQL databases are just one of many interconnected system components, which call for high availability and horizontal scalability. For databases in particular, horizontal scaling is significantly more complex than with other services, often because most MySQL clients are not smart enough for clustered MySQL installations. If you do not relish the task of programming the missing client functions for database clusters yourself, you are in good hands with MaxScale, which speaks the MySQL protocol, analyzes requests from clients, and routes them to specific servers.
When scaling vertically, admins expand a single large hardware instance on which specific services run, whereas when scaling horizontally, they increase the number of instances, thus distributing the load across more shoulders.
Horizontal scaling has supplanted classic high availability (HA) approaches, because if you have a fair number of instances of a service, the failure of a single instance is only a problem for its currently open connections – and only if the client is not smart enough to reconnect automatically.
Although these two approaches are ready for production use in MySQL – MySQL in master-slave mode and a Galera cluster with multimaster functionality – these solutions are unlikely to do the job if left to their own devices.
MaxScale for Databases
MaxScale comes from MariaDB and made its debut in 2014. The MaxScale team is led by MySQL creator Monty Widenius, who promised that MySQL databases would support high availability, while putting an end to scalability issues. In terms of functionality, MaxScale is a proxy server: At one end, the service opens connections to back ends of the same database in the background; at the other end, it waits for incoming connections from clients. In this article, a client is any application (CRM, web shop, document management, etc.) that uses MySQL as a back end
...Buy this article as PDF
(incl. VAT)