MaxScale 0.6.0 was recently released (it is the 3rd alpha, with the beta on the near horizon), and is available for download here. The particular release only contains 2 great additions and 2 important fixes (and note development continues with the 1.0 (GA) features, but these have not been put into this alpha version). Important Additions:
- A feature-complete read/write splitting module, i.e. read and write operations are now balanced in a smarter way to master or slave servers.
- New client-based features, such as a version string that provides compatibility with the major connectors, the ability to connect through the root user and the use of the Unix socket when MaxScale is co-located with a client application on the same server.
Important Bug Fixes:
- The new parameter “version_string” parameter has been added to service section. This allows a specific version string to be set for each service, this version string is used in the handshake from MaxScale to clients and is reported as the server version to clients. The version_string is optional, the default value will be taken from the embedded MariaDB library which supplies the parser to MaxScale.
- Statements are not routed to master if a transaction is started implicitly by setting autocommit=0. In such cases statements were previously routed as if they were not part of a transaction. This fix changes the behavior so that is autocommit is disabled, all statements are routed to the master and in case of session variable updates, to both master and slave.
If you’re not too familiar with MaxScale, you can view a short, 4 minute, overview here. (And read the 50-foot overview.) Also, just to throw my 2 cents in, if you’re looking for a read-write splitting load balancer, then you should definitely check out MaxScale (though it is much more robust than that). But that is just one feature that many are already using successfully in production environments. And it will not suffer from the limitations that other read-write splitting load-balancing solutions have encountered which have prevented their wide-spread use. And as I noted, the beta is coming soon (and GA not too far behind that), with even more read-write splitting enhancements. And if interested in some more about MaxScale, there are some great posts here (some with excellent step-by-step setup instructs):
- Anders Karlsson – MaxScale Part 1
- Anders Karlsson – MaxScale Part 2
- Anders Karlsson – MaxScale Part 3
- Ivan Zoratti – MaxScale 0.6.0
- Gerry Narvaja – MaxScale Presentation
Hope this helps.