Muchos estudiantes pueden haber oído hablar de NodeJ y saber que puede ejecutar JavaScript en el servidor, pero es posible que no sean muy claros sobre su escenario de uso. Recientemente, también han estado aprendiendo NodeJs, así que hice un resumen;
Ventajas de NodeJS:
Hay muchos lenguajes del lado del servidor (PHP, Java, ASP.NET). ¿Cuáles son los problemas? El idioma actual del lado del servidor crea un hilo para cada enlace de usuario cuando los usuarios acceden al servidor, pero cada subproceso consume aproximadamente 2 m de memoria. Si un servidor con memoria 8G puede vincular a unos 4,000 usuarios. Si el número de usuarios tiene una gran cantidad de enlaces, se debe aumentar el número de servidores. Además, hay muchas maneras para que los usuarios vinculen al mismo tiempo (como aplicaciones, páginas web al mismo tiempo), lo que implica el problema del intercambio del servidor, por lo que la forma en que el servidor admite el número máximo de usuarios al mismo tiempo se convierte en un problema;
NodeJS modificó el método de enlace cliente a servidor para resolver este problema. No crea un nuevo hilo para cada cliente, pero comienza un evento procesado internamente para cada enlace del cliente. Por lo tanto, NodeJs tiene la capacidad de manejar los enlaces de clientes de hasta decenas de miles de usuarios al mismo tiempo;
NodeJS es adecuado para aplicaciones de desarrollo:
Cuando una aplicación necesita procesar una gran cantidad de entrada/salida concurrente, y no requiere un procesamiento muy complejo dentro de la aplicación antes de enviar una respuesta al cliente, debemos considerar el uso de NodeJS para el desarrollo de la aplicación, por ejemplo:
1. Servidor de chat: si hay muchas personas chatando, el enlace concurrente entre el usuario y el servidor es grande, pero el procesamiento de datos en el servidor no es complicado;
2. Servidores de sitios web de servicios integrales y sitios web de comercio electrónico: en el lado del servidor de este tipo de sitio web, a menudo es posible recibir hasta miles de datos por segundo y necesita escribir estos datos en la base de datos. NodeJS puede escribir rápidamente estos datos en el caché a través de su mecanismo de cola, y luego eliminar los datos del área de caché y escribirlos en la base de datos a través de cada procesamiento separado. Si se trata de otro servidor (como el servidor Apache o el servidor Tomcat), dado que estos servidores usan mecanismos de E/S de bloqueo, cada pieza de datos debe escribirse en la base de datos durante un tiempo (y esperar hasta que el anterior esté terminado antes de que se escriba el siguiente), pero NodeJs usa un mecanismo de I/O sin bloqueo, por lo que puede implementar la escritura de estos datos en la databla de datos sin tener que esperar un período de tiempo para que se escriba cada vez para cada uno de los datos;
Resumir:
Un sistema ligeramente más grande no puede ser manejado por un lenguaje de desarrollo. A menudo se mezcla con varios tipos, como C y C ++ para el desarrollo del lado del servidor, Java para la lógica de negocios, PHP para la visualización de front-end, y también requiere mensajes de middleware, etc.
NodeJS puede prototipos rápidamente en el lado del servidor (resulta que solo las cosas pueden hacer las cosas por C-System y Java, y el rendimiento aún es muy alto), y la cantidad de código será relativamente pequeña; El otro punto son sus ventajas de sintaxis, cierres JS, etc. Pero no es adecuado para el procesamiento intensivo en CPU, y solo se puede resolver dando vueltas. Se dice que alguien compartirá este resultado de la investigación en QCon esta vez, por lo que puede prestarle atención.
Cada idioma tiene su campo adecuado. No hay necesidad de forzar un idioma para resolver todo. Tiene las características de otros idiomas. Solo por la compensación constante es el objetivo.
Todos estos son resúmenes vistos en la serie, espero corregirlos.