Ventajas de nodejs
¿Cuáles son los problemas con muchos lenguajes del lado del servidor (PHP, JAVA, ASP.net)? Cuando un usuario accede al servidor, el lenguaje actual del lado del servidor crea un hilo para cada conexión de usuario, pero cada hilo consume aproximadamente 2 M de memoria. Si un servidor con memoria 8G puede conectar alrededor de 4000 usuarios, si la cantidad de conexiones de usuarios es grande, se debe aumentar la cantidad de servidores. Además, hay muchas formas para que los usuarios se conecten (como aplicaciones y páginas web a las que se accede al mismo tiempo), lo que involucra al servidor * * *, por lo que la forma en que el servidor admite que la mayoría de los usuarios se conecten al mismo tiempo se convierte en un problema;
NodeJS modificó el cliente. El método de enlace de extremo a servidor resuelve este problema. En lugar de crear un nuevo hilo para cada cliente, NodeJS inicia un evento interno para cada conexión de cliente, por lo que NodeJs tiene la capacidad de manejar conexiones de clientes para hasta decenas de miles de usuarios simultáneamente.
NodeJS es adecuado para desarrollar aplicaciones:
Cuando la aplicación necesita manejar una gran cantidad de entradas/salidas simultáneas, pero la aplicación interna no necesita ser muy compleja antes de enviar un En respuesta al cliente, deberíamos considerar el uso de NodeJs para desarrollar aplicaciones, como:
1. Servidor de chat: si hay muchas personas chateando, habrá una gran cantidad de enlaces simultáneos entre los usuarios y el cliente. servidor, pero el procesamiento de datos en el lado del servidor no es complicado;
2. Servidores para sitios web de servicios integrales y sitios web de comercio electrónico: el lado del servidor de dichos sitios web a menudo puede aceptar miles de datos por segundo. y 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 sacar estos datos del caché y escribirlos en la base de datos mediante procesos separados. Si se trata de otros servidores (como el servidor Apache o el servidor Tomcat), dado que estos servidores utilizan un mecanismo de E/S de bloqueo, cada fragmento de datos tarda un tiempo en escribirse en la base de datos (el siguiente fragmento no se puede escribir hasta que Se escribe la pieza anterior), pero NodeJs Se utiliza un mecanismo de E / S sin bloqueo, por lo que los datos se pueden escribir en la base de datos sin esperar cada pieza de datos.
Resumen:
Los sistemas ligeramente más grandes no pueden ser manejados por un lenguaje de desarrollo, pero a menudo son una mezcla de varios, como C y C++ para el desarrollo del lado del servidor y la lógica empresarial de Java. , php para visualización frontal, middleware de mensajes, etc.
Nodejs se puede crear rápidamente prototipos en el lado del servidor (originalmente, solo los sistemas C y Java pueden hacer cosas de alto rendimiento), y la cantidad de código será mucho menor. Otro punto es su ventaja de sintaxis, el cierre js; , etc. Pero no es adecuado para procesamientos que requieren un uso intensivo de la CPU y sólo se puede solucionar de forma indirecta. Se dice que esta vez alguien compartirá los resultados de la investigación en QCon, para que pueda prestarles atención.
Cada idioma tiene su propio nicho. No es necesario forzar a un idioma a resolverlo todo, tiene características de otros idiomas. El objetivo es crear sistemas continuamente a través de compensaciones. Estos están resumidos en la serie, espero que puedan corregirme.