# MaxScale Routers

- [MaxScale Binlogrouter](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-binlogrouter.md): Replicate binary logs from a primary server to local storage. This router serves as an intermediate replication master reducing load on the primary database in large clusters.
- [MaxScale Cat](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-cat.md): Concatenate result sets from multiple backend servers into a single response. This router is useful for querying partitioned data or aggregating results from distributed nodes.
- [MaxScale Diff](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-diff.md): Compare the behavior of two MariaDB server versions. The Diff router executes queries against a main and a test server to detect discrepancies in results or performance.
- [MaxScale Exasolrouter](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-exasolrouter.md): Route analytical queries to an Exasol cluster. This router integrates Exasol with MaxScale often used alongside SmartRouter for hybrid transactional/analytical workloads.
- [MaxScale KafkaCDC](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-kafkacdc.md): Stream replication events from MariaDB to Apache Kafka. This router captures data changes (CDC) and publishes them as JSON objects to Kafka topics for downstream processing.
- [MaxScale KafkaImporter](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-kafkaimporter.md): Import data from Apache Kafka into MariaDB. This router consumes messages from Kafka topics and applies them as transactions to your database tables.
- [MaxScale Mirror](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-mirror.md): Duplicate client queries to multiple targets. The Mirror router sends traffic to a primary server while asynchronously forwarding the same queries to a secondary server for testing.
- [MaxScale Readconnroute](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-readconnroute.md): Balance connections across backend servers. This lightweight router distributes new client connections to available nodes without inspecting individual SQL statements.
- [MaxScale Readwritesplit](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-readwritesplit.md): Optimize query performance with read-write splitting. This router directs write queries to the primary server and load balances read queries across available replica nodes.
- [MaxScale SchemaRouter](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-schemarouter.md): Implement database sharding with a single logical entry point. The SchemaRouter routes queries to specific backend servers based on the database or table being accessed.
- [MaxScale SmartRouter](https://mariadb.com/docs/maxscale/reference/maxscale-routers/maxscale-smartrouter.md): Intelligently route queries based on workload type. SmartRouter directs transactional queries to MariaDB and analytical queries to column-store engines for hybrid processing.


---

# 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/reference/maxscale-routers.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.
