Convoy supports read replicas to improve the scalability and efficiency of database read operations. This feature allows you to specify additional database instances that will be used for read operations, while the primary database instance handles write operations.Documentation Index
Fetch the complete documentation index at: https://getconvoy.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
Architecture
Note:
- The read replica functionality is available only for licensed users.
- This feature is currently in beta and disabled by default. To enable it, use the environment variable
CONVOY_ENABLE_FEATURE_FLAG=read-replicasor the CLI flag--enable-feature-flag=read-replicas.
Configuring Read Replicas
JSON Configuration
You can configure read replicas by adding theread_replicas object to your database configuration JSON. Each read replica should be an object with the following keys:
| Key | Description |
|---|---|
host | The hostname of the read replica. |
username | The username to connect to the read replica. |
password | The password to connect to the read replica. |
database | The database name to connect to. |
port | The port number the read replica is listening on. |
using read replicas via JSON configuration
CLI Configuration
Alternatively, you can use theread-replicas-dsn configuration option to provide a list of connection strings.
Each connection string should follow the format:
<dbms>://<username>:<password>@<host>:<port>/<database>
Here’s what each field represents:
| Field | Description |
|---|---|
<dbms> | The database management system (e.g., postgres). |
<username> | The username to connect to the replica. |
<password> | The password to connect to the replica. |
<host> | The hostname or IP address of the replica. |
<port> | The port the replica is listening on. |
<database> | The name of the database to connect to. |
using read replicas via CLI
Important: Make sure the connection strings are formatted correctly, including the database name, username, password, host, and port.