All pages
Powered by GitBook
1 of 3

MaxScale Architecture

Understand MariaDB MaxScale's architecture. Explore its components, including monitors, routers, and filters, and how they work together to provide advanced database proxy capabilities.

About MariaDB MaxScale

About MariaDB MaxScale

MariaDB MaxScale is a database proxy that forwards database statements to one or more database servers.

The forwarding is performed using rules based on the semantic understanding of the database statements and on the roles of the servers within the backend cluster of databases.

MariaDB MaxScale is designed to provide, transparently to applications, load balancing and high availability functionality. MariaDB MaxScale has a scalable and flexible architecture, with plugin components to support different protocols and routing approaches.

MariaDB MaxScale makes extensive use of the asynchronous I/O capabilities of the Linux operating system, combined with a fixed number of worker threads. epoll is used to provide the event driven framework for the input and output via sockets.

Many of the services provided by MariaDB MaxScale are implemented as external shared object modules loaded at runtime. These modules support a fixed interface, communicating the entry points via a structure consisting of a set of function pointers. This structure is called the "module object". Additional modules can be created to work with MariaDB MaxScale.

Commonly used module types are protocol, router and filter. Protocol modules implement the communication between clients and MariaDB MaxScale, and between MariaDB MaxScale and backend servers. Routers inspect the queries from clients and decide the target backend. The decisions are usually based on routing rules and backend server status. Filters work on data as it passes through MariaDB MaxScale. Filter are often used for logging queries or modifying server responses.

A Google Group exists for MariaDB MaxScale. The Group is used to discuss ideas, issues and communicate with the MariaDB MaxScale community. Send email tomaxscale@googlegroups.com or use theforum interface.

Bugs can be reported in the MariaDB Jirajira.mariadb.org

Installing MariaDB MaxScale

Information about installing MariaDB MaxScale, either from a repository or by building from source code, is included in the MariaDB MaxScale Installation Guide.

The same guide also provides basic information on running MariaDB MaxScale. More detailed information about configuring MariaDB MaxScale can be found in theConfiguration Guide.

This page is licensed: CC BY-SA / Gnu FDL

MariaDB MaxScale Overview

Get an overview of MariaDB MaxScale. This section introduces its core functionalities, including intelligent routing, load balancing, and high availability, for managing and optimizing deployment.

Overview

MariaDB MaxScale is an advanced proxy, router, and load balancer:

  • MaxScale performs automated failover for MariaDB replication. When the primary server fails, MaxScale promotes a replica to be the new primary and redirects the remaining replicas to it.

  • MaxScale's ReadWriteSplit router performs query-based load balancing. ReadWriteSplit routes each write statement to the current primary server and load balances read statements by routing them to the replica servers.

  • MaxScale's ReadConnRoute router performs connection-based load balancing. ReadConnRoute routes each connection to a single primary or replica node, depending on configuration.

  • MaxScale can import data from Kafka and export data into Kafka. MaxScale's KafkaCDC router streams data from MariaDB database products to a Kafka broker. MaxScale's KafkaImporter router streams data from Kafka to MariaDB database products.

  • MaxScale provides built-in mechanisms to perform server maintenance without disrupting applications or clients. Servers can be set to maintenance mode using the command-line interface with MaxCtrl, a web browser with MaxGUI, or REST API.

  • MaxScale's Cache filter can improve SELECT performance by caching and reusing results.

  • Security and traffic controls for database connections and queries can be implemented with MaxScale. MaxScale's QLAfilter can be used to create an audit trail by logging all queries. MaxScale's RegexFilter can also perform audit logging or protect against SQL injection by matching queries against a regular expression and performing various actions on the query, such as logging it, modifying it, or routing it to a specific server.

MariaDB MaxScale can be deployed in the cloud or on-premises.

Scheduled Releases

MariaDB MaxScale follows the MariaDB Enterprise release schedule, which can be found here.

Latest Software Releases

Release Series
Latest Release Date
Latest Release

24.02

2024-12-09

MariaDB MaxScale 24.02.4

23.08

2024-12-09

MariaDB MaxScale 23.08.8

23.02

2024-12-09

MariaDB MaxScale 23.02.12

22.08

2024-12-09

MariaDB MaxScale 22.08.15

6

2024-03-11

MariaDB MaxScale 6.4.15

2.5

2023-10-25

MariaDB MaxScale 2.5.29

2.4

2022-01-10

MariaDB MaxScale 2.4.19

Available Documentation

Security

  • Authentication with MariaDB MaxScale

  • Data-in-Transit Encryption for MariaDB MaxScale

Architecture

  • MariaDB MaxScale Architecture

What's New

  • See the MariaDB MaxScale 24.02 Changelog for a list of what's new in MaxScale 24.02 and prior versions.

This page is: Copyright © 2025 MariaDB. All rights reserved.