Escalado horizontal de las cargas de trabajo de lectura en Azure Database for MySQL

Publicado el 4 marzo, 2019

Program Manager, Azure OSS Databases

Para cargas de trabajo con un gran número de operaciones de lectura que pretende escalar horizontalmente, puede usar réplicas de lectura, que ahora están disponibles con carácter general para todos los usuarios de Azure Database for MySQL. Las réplicas de lectura facilitan el escalado horizontal más allá de un único servidor de base de datos único. Esto es útil en cargas de trabajo como informes de BI y aplicaciones web, que tienden a tener más operaciones de lectura que escritura.

La característica admite replicación asincrónica continua de los datos desde un servidor de Azure Database for MySQL (el servidor “maestro”) hasta un máximo de cinco servidores de Azure Database for MySQL (los servidores de “réplica de lectura”) en la misma región. Las cargas de trabajo con un gran número de operaciones de lectura se pueden distribuir entre los servidores de réplica conforme a sus preferencias. Los servidores de réplica son de solo lectura, excepto para las operaciones de escritura replicadas por cambios en los datos del servidor maestro.

¿Qué es compatible con las réplicas de lectura?

Puede crear o eliminar servidores de réplica según las necesidades de la carga de trabajo. Un servidor maestro puede admitir hasta cinco servidores de réplica dentro de la misma región de Azure. Al detener la replicación en cualquier servidor de réplica, se convierte en un servidor de lectura y escritura independiente.

Puede administrar fácilmente sus servidores de réplica mediante Azure Portal y la CLI de Azure.

Desde Azure Portal:

Pestaña de replicación en Azure Portal utilizada para administrar servidores de réplica.

Use Azure Monitor para realizar un seguimiento de la replicación con la métrica de “retardo de replicación en segundos”:

Seguimiento de la replicación con Azure Monitor

Desde la CLI de Azure:

az mysql server replica create -n mydemoreplica1 -g myresourcegroup -s mydemomaster

A continuación se muestran algunos patrones de aplicación que nuestros clientes y asociados usan que aprovechan las réplicas de lectura para escalar las cargas de trabajo.

Informes de BI

Los datos de orígenes de datos dispares se procesan cada pocos minutos y se cargan en el servidor maestro. El servidor maestro se dedica a las cargas y el procesamiento, y no los expone directamente a los usuarios de BI para informes o análisis para garantizar un rendimiento predecible. La carga de trabajo de informes se escala horizontalmente en varias réplicas de lectura para administrar una alta concurrencia de usuarios con baja latencia.

Procese orígenes de datos dispares con réplicas de lectura utilizadas para escalar horizontalmente.

Microservicios

En este patrón de arquitectura, la aplicación se divide en varios microservicios, donde las API de modificación de datos se conectan al servidor maestro y las API de informes se conectan réplicas de lectura. Las API de modificación de datos tienen el prefijo “Set-”, mientras que las API de informes tienen el prefijo “Get-”. El equilibrador de carga se utiliza para enrutar el tráfico según el prefijo de la API.

Los datos de lectura y escritura del equilibrio de carga cambian con los servicios web.

Pasos siguientes