Puede configurar distintos ajustes de conexión para cada endpoint del proxy de base de datos. Esto le permite admitir casos de uso como la separación de lecturas y escrituras o el manejo de solicitudes de lectura con alta concurrencia. De este modo, sus aplicaciones se conectan a una instancia de ApsaraDB RDS for PostgreSQL con la configuración que mejor se adapta a las necesidades específicas de su negocio.
Requisitos previos
La función de proxy de base de datos debe estar habilitada. Para obtener más información, consulte Enable the database proxy.
Notas de uso
Asegúrese de haber creado una instancia de solo lectura. Si no cuenta con ninguna, aún puede habilitar el proxy de base de datos, pero no podrá configurar los ajustes de conexión de sus endpoints. Para crear una, consulte Create a read-only ApsaraDB RDS for PostgreSQL instance.
Procedimiento
Vaya a la página Instances. En la barra de navegación superior, seleccione la región donde reside la instancia de RDS. Después, busque la instancia de RDS y haga clic en su ID.
En el panel de navegación izquierdo, haga clic en Database Proxy.
En la sección Connection Information, busque el Proxy Endpoint (Terminal) ID deseado y haga clic en Modify Configuration dentro de la columna Actions.
-
En el cuadro de diálogo que aparece, modifique los ajustes de conexión del endpoint del proxy de base de datos según los requisitos de su negocio.
Parámetro
Descripción
Connection Description
Descripción personalizada para el endpoint del proxy de base de datos. Puede tener un máximo de 30 caracteres.
Read/Write Attributes
Define cómo se enrutan las solicitudes de lectura y escritura.
Read/Write (Read/Write Splitting) (predeterminado): se conecta tanto a la instancia principal como a sus instancias de solo lectura. Este endpoint admite solicitudes de escritura.
Read-only (Primary Instance Not Connected to Receive Write Requests): se conecta únicamente a las instancias de solo lectura y no recibe solicitudes de escritura.
NotaCuando modifica los atributos de lectura y escritura, los cambios se aplican solo a las conexiones nuevas. Las conexiones existentes conservan su configuración original sin verse afectadas. Para obtener más información, consulte What is read/write splitting? y Set read and write attributes and read weights.
Debe create a PostgreSQL read-only instance antes de establecer los atributos de lectura y escritura para usar la función de separación de lecturas y escrituras.
Latency Threshold
El retraso máximo de replicación permitido cuando una instancia de solo lectura sincroniza datos desde la instancia principal. Valores válidos: de 0 a 3600 segundos.
Dependiendo del rendimiento de ejecución de SQL, las instancias de solo lectura pueden presentar retrasos de replicación. Se recomienda establecer este valor en como mínimo 30 segundos.
NotaEste parámetro está disponible únicamente si Read/Write Attributes se establece en Read/Write (Read/Write Splitting).
Si el retraso de replicación de una instancia de solo lectura supera este umbral, el proxy de base de datos deja de reenviarle solicitudes de lectura, sin importar el peso de lectura que tenga asignado.
Transaction Splitting
Esta función siempre está Enabled. La separación de transacciones envía a las instancias de solo lectura aquellas solicitudes de lectura que ocurren dentro de una transacción antes de cualquier operación de escritura. Esto ayuda a reducir la carga de la instancia principal.
NotaPara consultar una explicación detallada de esta función, vea Transaction splitting.
Read Weight Allocation
Especifica cómo se asignan los pesos de lectura a las instancias:
Automatic: el sistema asigna automáticamente un peso de lectura a cada instancia según sus especificaciones. Al agregar una nueva instancia de solo lectura, esta se incorpora de forma automática al pool de separación de lecturas y escrituras con un peso asignado por el sistema. No requiere configuración manual. Para obtener más información, consulte Default read weight allocation rules.
Custom: establezca manualmente el peso de lectura de cada instancia. El valor puede ir de 0 a 10 000. Cuando agrega una nueva instancia de solo lectura, su peso de lectura predeterminado es 0, por lo que deberá modificarlo de manera manual.
NotaEntre mayor sea el peso de lectura de una instancia, más solicitudes de lectura procesará. Por ejemplo, suponga que una instancia principal tiene tres instancias de solo lectura. Si la instancia principal tiene un peso de lectura de 0 y las instancias de solo lectura tienen pesos de 100, 200 y 200, la instancia principal no procesará ninguna solicitud de lectura, aunque las solicitudes de escritura seguirán enrutándose hacia ella de forma automática. Las tres instancias de solo lectura manejarán las solicitudes de lectura en una proporción de
1:2:2.Los cambios en este parámetro surten efecto de inmediato y no provocan desconexiones transitorias. Las conexiones existentes no se ven afectadas y continúan utilizando la distribución de pesos anterior.
Cuando se libera una instancia de solo lectura, su peso se elimina automáticamente.
Si una instancia falla o su retraso de replicación supera el umbral, su peso se elimina de forma automática. Una vez que la instancia se recupera, el peso se restablece automáticamente.
Agregue el hint
/FORCE_MASTER/a su instrucción SQL:/*FORCE_MASTER*/ SELECT * FROM table_name;Si desea enrutar explícitamente una solicitud de lectura a una instancia de solo lectura, utilice
/FORCE_SLAVE/.
Haga clic en OK.
Temas relacionados
API relacionadas
|
API |
Descripción |
|
Consulta los detalles de un proxy de base de datos. |
|
|
Consulta los detalles de un endpoint de proxy de base de datos. |
|
|
Modifica los ajustes de conexión de un endpoint de proxy de base de datos. |