MaxScale, the Pluggable Router

Replication and High Availability Strategies
2 April 4:50PM - 5:40PM @ Ballroom A

Experience level: 
50 minutes conference
Flexible database clusters impose challenges in terms of load balancing, load splitting, write conflict avoidance and service availability, to name a few. MaxScale is a highly modular proxy with a pluggable API, that assists in offloading tasks away from both clients and the back-end servers. In its simplest form it acts as a non-blocking zero-copy load balancer for read-only connections, while in the other extreme it examines packets and parses queries, which are then processed according to the dynamically changeable rules exposed by plugged-in modules. At its core MaxScale is a server handling massively parallel client load and processing it according to the associated router. Connections are handled with epoll, and whenever possible, packets are routed without making unnecessary copies of them. MaxScale has efficient, flexible and rich logging facilities including logging on disk, to shared memory or to syslog. MaxScale is opensource software, licensed under the GPLv2, providing a plug-in API for query routing, server monitoring and for protocols such as MySQL and httpd. Pluggable authentication is in plans. Initially supported platforms are CentOS and Debian on x86_64. In our presentation we introduce the architecture of MaxScale, modularity, the plug-in API, how it is integrated with Galera and MySQL replication, and some typical use cases.


Senior Software Engineer, MariaDB Corporation
Massimiliano has worked for almost 15 years in Web Companies playing the roles of Technical Leader and Software Engineer. Prior to joining SkySQL/MariaDB he worked at Banzai Group and Matrix S.p.A, big players in the Italy Web Industry. He is still a guy who likes too much the terminal window on his Mac. Apache modules and PHP extensions skills are included as well.
Senior Software Engineer, SkySQL
Works as a software engineer and contributes to MaxScale project. Is responsible for read/write split router, query classifier, log manager and parts of the core engine. In the past (2004-2013), worked with the SolidDB In-Memory Engine, the High-Availability Controller, and the HotStandby Option. Prior to that (2000-2005), worked as a research -, and a teaching assistant at University of Helsinki, Department of Computer Science.