Red de conocimiento informático - Aprendizaje de programación - Enseñarle paso a paso cómo crear un sitio web (veintinueve) thinkphp6 implementa múltiples bases de datos

Enseñarle paso a paso cómo crear un sitio web (veintinueve) thinkphp6 implementa múltiples bases de datos

La sección anterior presentó el equilibrio de carga y la sincronización de MySQL, y la siguiente sección presentará la implementación distribuida tp6 de múltiples bases de datos para lograr la separación de lectura y escritura.

La lectura y escritura de la implementación distribuida de tp6 sigue siendo un sistema. Aquí operamos por separado para mostrar que el usuario está agregando artículos de la base de datos esclava y la base de datos maestra en segundo plano, y luego los sincronizamos con la base de datos esclava. base de datos.

1. Configurar los parámetros de enlace de la base de datos

Objetivo: Lograr un uso aleatorio de la base de datos para mostrar información y solo realizar operaciones de lectura.

Prueba: la interfaz puede leer el contenido de la tabla (el almacenamiento es inconsistente) para ver si se muestra aleatoriamente.

Abra el archivo .env para editarlo

Instrucciones:

2. Edite la base de datos.php

Busque la implementación configurada en 1 distribuida implementación, no lo cambie a continuación, todo es lectura y escritura, es decir, el backend de nuestro sitio web separado está conectado a la base de datos principal.

Una vez completada la configuración, tp6 usa mt_rand para tomar un número aleatorio y decidir qué base de datos usar.

3. Operación de escritura interactiva de la base de datos

Por ejemplo, no es necesario actualizar el número de vistas en la base de datos cada vez. Primero puede usar el caché de Redis, que es suficiente. almacene un múltiplo entero de 1000 y luego actualice la base de datos.

4. El backend es independiente, listo para escribir y usar.

El front y backend se pueden separar, y un solo sitio (sin front-end) puede usar acceso IP o una nombre de dominio independiente para conectarse al backend.

5. Cargar archivos adjuntos (carga entre dominios jquery ajax)

Usando el equilibrio de carga de nginx, debe haber más de un sitio. Si la imagen se almacena en un sitio, otros sitios. no puede acceder a él. Puede configurar un servidor de archivos adjuntos independiente (paquete comprimido, imagen, etc.), que se puede conectar mediante un nombre de dominio de segundo nivel.

jqueryURL

Método apdpic del controlador API

Descripción:

También puede cargar primero el servidor backend y luego usar ftp para cargar, o cargar al servidor de archivos adjuntos a través de curl parece engorroso después de todo. Sería más sencillo configurar un dominio cruzado directamente.

También se probó el uso de jsonp en todos los dominios, pero no se pudieron cargar archivos adjuntos.

6. thinkphp6 implementa la separación de lectura y escritura (en un sitio)

Personalmente, no me gusta esto. El equilibrio de carga debe ser equilibrio de lectura, es decir, el front-end. un sitio independiente y el back-end Writing es otro sitio independiente, depende de las preferencias personales.

Ventajas de un backend independiente: La seguridad se puede mejorar porque nuestra URL del backend no es pública, lo que evita que los usuarios adivinen cierta información sobre el backend.

La configuración .env se edita como se describe en 1, donde la primera configuración tiene como valor predeterminado la base de datos principal.

base de datos.php

¡Te deseo todo lo mejor en el nuevo año!