Seidor
chica programando

05 de junho de 2024

O que é Node.js e para que serve?

Node.js é um ambiente JavaScript que nos permite executar no servidor, de maneira assíncrona, com uma arquitetura orientada a eventos e baseado no motor V8 do Google. É uma plataforma que avança muito rapidamente e está cada vez mais presente no mercado.

Como funciona o Node.js?


O motor V8 compila Javascript em código de máquina nativo em vez de interpretá-lo no navegador, conseguindo assim uma velocidade muito mais alta. Node é de código aberto e pode ser executado no Mac OS X, Windows e Linux.

Javascript do lado do servidor


Tradicionalmente, o Javascript tem sido utilizado apenas para tarefas menores no navegador, mas atualmente já é uma linguagem de programação tão potente quanto qualquer outra. Além disso, o JavaScript dispõe de um modelo de eventos excelente, ideal para a programação assíncrona.

O JavaScript é uma linguagem conhecida por milhões de programadores, então a curva de aprendizado do Node é reduzida, já que geralmente não é necessário aprender uma nova linguagem.

Programação assíncrona


Além da alta velocidade de execução, o Node.js dispõe do Loop de Eventos (Event Loop), que permitirá gerenciar enormes quantidades de clientes de forma assíncrona. Tradicionalmente, para trabalhar de forma assíncrona, as aplicações se valiam da programação baseada em threads (programming threaded applications), mas isso implica na utilização (normalmente ineficaz) de um espaço de memória que vai escalando à medida que a quantidade de clientes conectados à nossa aplicação aumenta.

Geralmente, cada thread implica na utilização de 2MB de memória, o que em um sistema de 8GB de RAM implica em um máximo teórico de conexões de 4.000 usuários. Portanto, se precisarmos gerenciar grandes quantidades de conexões, teremos que aumentar o número de servidores.

A solução do Node


O Node.js resolve esse problema mudando a maneira de realizar as conexões com o servidor. Em vez de gerar um novo thread de E/S para cada cliente, cada conexão dispara a execução de um evento dentro do processo do motor do Node. Dessa forma, o Node permite que um único servidor que o execute possa suportar dezenas de milhares de conexões.

Graças ao Node, o LinkedIn passou de utilizar 30 servidores para apenas 3!

Talvez você possa se interessar

05 de junho de 2024

O que é ElasticSearch?

ElasticSearch é um motor de busca orientado a documentos que nos permite indexar um grande volume de dados para poder fazer consultas sobre eles posteriormente.

Data
SEIDOR