Tema anterior: Aplicación de N niveles con replicación principal-principal (apropiada para equilibrio de carga)

Tema siguiente: Aplicación de N niveles que se ejecuta en diferentes instalaciones (apropiada para equilibrio de carga y conmutación por error)


Aplicación de N niveles con replicación principal-principal de varios nodos (apropiada para equilibrio de carga)

El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web en la cual la base de datos se replica a cuatro servidores en un escenario de replicación principal-principal. En este caso, la aplicación usa todos los servidores WEB y MYSQLR64 durante la operación de equilibrio de carga. También, en el caso de que una de las instancias WEB/MYSQLR64 falle, las otras instancias WEB/MYSQLR64 se pueden utilizar para evitar tiempo de inactividad en la aplicación (MYSQLR64 no gestiona errores).

Aplicación de N niveles con replicación principal-principal de varios nodos (apropiada para equilibrio de carga)

Dispositivos en uso:

La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace envía las solicitudes al equilibrador de carga web_lb, el cual dirige la solicitud a uno de los servidores Web web1, web2, web3 y web4 . Cada servidor Web usa su propio dispositivo de base de datos. Todos los dispositivos de base de datos se conectan en círculo para replicar las actualizaciones que los servidores Web hacen en la base de datos. Así pues, una actualización en db1, por ejemplo, se replicará a db2, db3 y db4. Cada dispositivo MYSQLR64 utiliza un desplazamiento (igual a su server_id) para las columnas auto_increment, de manera que no se produzca duplicación de entradas.

El acceso Web a db1, db2, db3 y db4 está disponible a través de la puerta de enlace admin en los puertos 8080, 8081, 8082 y 8083.

Los dispositivos db1, db2, web1 y web2 se configuran para almacenar sus archivos de registro dentro del directorio raíz del recurso que muestran los registros. Además, un administrador puede ver los archivos de registro a través de la puerta de enlace admin.

Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):

db1

Nombre de la propiedad

Valor

Notas

auto_create

1

Crea la base de datos si los volúmenes están vacíos.

error_log_filename

db1.error

Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros.

error_log_level

error

Nivel de registro de errores.

server_id

1

Servidor principal 1

rpl_mode

master_and_slave

Principal y secundario

db2

Nombre de la propiedad

Valor

Notas

auto_create

1

Crea la base de datos si los volúmenes están vacíos.

error_log_filename

db2.error

Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros.

error_log_level

error

Nivel de registro de errores.

server_id

2

Servidor principal 2

rpl_mode

master_and_slave

Principal y secundario

db3

Nombre de la propiedad

Valor

Notas

auto_create

1

Crea la base de datos si los volúmenes están vacíos.

error_log_filename

db3.error

Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros.

error_log_level

error

Nivel de registro de errores.

server_id

3

Servidor principal 3

rpl_mode

master_and_slave

Principal y secundario

db4

Nombre de la propiedad

Valor

Notas

auto_create

1

Crea la base de datos si los volúmenes están vacíos.

error_log_filename

db4.error

Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros.

error_log_level

error

Nivel de registro de errores.

server_id

4

Servidor principal 4

rpl_mode

master_and_slave

Principal y secundario

Notas: