Red de conocimiento informático - Material del sitio web - ¿Cómo aprender la forma correcta de obtener OpenResty?

¿Cómo aprender la forma correcta de obtener OpenResty?

1. Bloquear el acceso a la red IO. Al conectarse a MySQL, Redis y realizar solicitudes HTTP, el proceso de trabajo no puede simplemente esperar a que regrese la E/S de la red, sino que debe estar controlado por eventos y usar funciones de concurrencia para utilizar de manera más eficiente los recursos de la CPU para manejar otras solicitudes. Muchos idiomas y bibliotecas circundantes no tienen esta capacidad.

2. Tiene un mecanismo de almacenamiento en caché completo. No sólo necesita admitir cachés externos como Redis y Memcached, sino que también debe crear un sistema de almacenamiento en caché en su propio proceso. Esperamos que la mayoría de las solicitudes puedan obtener datos y devolverlos en el proceso. Esta es la forma más eficiente una vez que se produce la IO de la red y la interacción entre procesos, el rendimiento se verá muy afectado.

3. Escriba la lógica del código de forma sincrónica y no permita que los desarrolladores noten las devoluciones de llamadas y la asincronía. Esto también es muy importante. Los programadores también son seres humanos y el código debería estar más en línea con los hábitos de pensamiento de las personas. Las devoluciones de llamadas explícitas y las palabras clave asincrónicas interrumpirán el pensamiento de las personas y dificultarán la depuración.

4. Lo mejor es apoyarse en gigantes y construir basándose en tecnologías maduras. Adoptar un lenguaje y una tecnología recién nacidos requiere experimentar el dolor de frecuentes ajustes durante el desarrollo del lenguaje en sí, y también puede dar lugar a malentendidos.

Sus principales escenarios de uso son:

1. Utilice Lua para mezclar y procesar varias salidas ascendentes de nginx (Proxy, Postgres, Redis, Memcached, etc.).

2. Antes de que la solicitud llegue realmente al servicio ascendente, Lua puede realizar controles de acceso complejos y pruebas de seguridad según lo desee, y manipular la información en el encabezado de respuesta según lo desee.

3. Obtenga información de backend de servicios de almacenamiento externos (como Redis, Memcached, MySQL, Postgres) y utilice esta información para seleccionar a qué backend completar el acceso empresarial en tiempo real.