Reports and dashboards read far more than they write. Sending those reads to a replica is the cheapest scaling an estate can buy, if the application does not have to know about it. This release makes the routing a property of the server.
Routing
- Attached at the server A replica cluster is declared on the database server, and every pool from that server inherits it.
- Symmetric API A caller asks for a read-only connection and receives one on a replica, with fallback to the primary. The ordinary call is unchanged, so callers need no topology knowledge.
- Strategies Round robin, least loaded and failover, with backoff from one second to sixty, tested on Informix and PostgreSQL containers.
- Reports opt in A read-only flag on a report object redirects its execution to replicas.
Observed
- A replica table in the monitoring catalog with a health percentage, a health state of healthy, degraded, primary fallback or offline, and the topology to its server.
- Marked on pools and connections, so a connection row says whether it is a replica.
The connection pool rewrite of January gave the platform a pool worth routing through. This is the routing.