# MaxScale Read/Write Split Router

MariaDB MaxScale is a database proxy that extends the high availability, scalability, and security of MariaDB Server while at the same time simplifying application development by decoupling it from underlying database infrastructure. It includes multiple routers that each support different use cases.

| Router                                                                                                                                      | Description                                                                                                                                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Read/Write Split Router](/docs/maxscale/maxscale-use-cases/readwrite-split-router-usage/understanding-maxscales-readwrite-split-router.md) | • Performs query-based load balancing. • Each client connected to MaxScale is mapped to multiple connections to different back-end database servers. • Routes write queries to connection to primary server. • Routes read queries to connection to replica server. |

| Feature                                                                                    | Read/Write Split Router |
| ------------------------------------------------------------------------------------------ | ----------------------- |
| Supports MariaDB Replication deployments                                                   | Yes                     |
| Supports Galera Cluster deployments                                                        | Yes                     |
| Supports Multi-Node Enterprise ColumnStore deployments                                     | Yes                     |
| Performs query-based load balancing                                                        | Yes                     |
| Routes client connections to multiple servers simultaneously                               | Yes                     |
| Routes write queries to primary and read queries to replicas                               | Yes                     |
| Automatically reconnects clients to the new primary after failover or switchover           | Yes                     |
| Automatically replays transactions on the new primary after failover or switchover         | Yes                     |
| Automatically retries failed queries                                                       | Yes                     |
| Enforces causal reads to avoid reading stale data caused by slave lag                      | Yes                     |
| Performs connection-based load balancing                                                   | No                      |
| Routes client connections to configured server type                                        | No                      |
| Mitigates the effect of primary failures by acting as a Binlog Server                      | No                      |
| Reduces bandwidth requirements of primary server in environments with many replica servers | No                      |
| Replicates from MariaDB to a Kafka broker                                                  | No                      |

<sub>*This page is: Copyright © 2025 MariaDB. All rights reserved.*</sub>

{% @marketo/form formId="4316" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/maxscale/maxscale-archive/archive/mariadb-maxscale-21-06/mariadb-maxscale-21-06-routers/maxscale-readwrite-split-router.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
