Os Node.js são diferentes

Insira a descrição da imagem aqui

1. O que é o Node.js

Definição oficial: Node.js é um tempo de execução JavaScript baseado no mecanismo Chrome V8

  1. O Node.js é uma plataforma de desenvolvimento que permite a execução do JavaScript no servidor, estende o alcance do JavaScript para o servidor e pode ser discutido com PHP, JSP, Python, Ruby. No entanto, o Node.js não é uma linguagem independente, ao contrário do PHP, JSP, Python, Ruby e Perl, que são uma linguagem e uma plataforma, o Node.js. usa a linguagem JavaScript para programação e é executada no chrome. V8. Segundo, comparado com a linguagem de back-end tradicional, o Node.js. não precisa ser construído em nenhum software de servidor, pois seus muitos conceitos de design também são diferentes da arquitetura clássica do LAMP . O Node.js. possui forte escalabilidade.
  2. O Node.js busca a maior simultaneidade e o mais alto desempenho de processamento com o menor custo de hardware.

Segundo, o Node.js é diferente

Linha única

**多线程与NodeJs单线程比较:**

As linguagens de plano de fundo comuns são multithread. Ao processar uma solicitação, um novo thread é criado para processar a solicitação. Portanto, para permitir que aplicativos da Web ofereçam suporte a mais usuários, você precisa aumentar o número de servidores, o que aumentará significativamente o custo do hardware.
O
Node.js não cria um encadeamento separado para cada solicitação, mas usa apenas um encadeamento. Quando um usuário se conecta, um evento interno é acionado.Por meio de E / S sem bloqueio e mecanismos controlados por eventos, o Node.js também é paralelo na macro.

**NodeJs 单线程优劣:**

Vantagem: o sistema operacional não é mais um evento inteiramente sobrecarga de criação de thread e destruição, que pode reduzir a sobrecarga de memória, sistema operacional, paginação de memória
.
Desvantagens: Se uma empresa entrou, mas o I / O bloquear a execução do código, também é O encadeamento está bloqueado, o que reduz bastante a eficiência de execução do programa

2. E / S sem bloqueio

O Node.js usa um mecanismo de E / S sem bloqueio. Depois de suspender o código para acessar o banco de dados, ele muda imediatamente para o código por trás dele e coloca o código que manipula os resultados retornados pelo banco de dados na função de retorno de chamada, melhorando a eficiência de execução do programa.
No
modo de bloqueio, um thread pode lidar apenas com uma tarefa e você deve passar vários threads para aumentar a taxa de transferência.
No modo
sem bloqueio, um encadeamento está sempre executando operações de cálculo e a utilização do núcleo da CPU desse encadeamento é sempre 100%

3. Orientado a Eventos

Quando a execução de uma E / S for concluída, o encadeamento que executa a E / S será notificado na forma de um evento. O encadeamento executa a função de retorno de chamada deste evento. Para manipular a E / S assíncrona, o encadeamento deve ter um loop de evento e verificar constantemente se não está processado. Evento
.
Mecanismo de processamento "anel de eventos": por vez, apenas uma função de retorno de chamada de evento pode ser executada, mas no meio da execução de uma função de retorno de chamada de evento, você pode acessar outros eventos (como uma nova conexão de usuário) e retornar Continue executando a função de retorno de chamada do evento original.
.
O Nó subjacente é C ++, V8 é também o subjacente C ++. Quase metade do código subjacente é sobre a construção de filas de eventos e filas de funções de retorno de chamada.
.
O Node-desempenho a parte mais importante: a conclusão do servidor com a programação orientada a eventos
Insira a descrição da imagem aqui

Terceiro, a diferença entre o processamento de negócios multithread e single threaded

Alta simultaneidade: é um dos fatores que deve ser considerado no design da arquitetura do sistema distribuído da Internet. Geralmente, refere-se a garantir que o sistema possa processar muitas solicitações em paralelo ao mesmo tempo
. O
multithreading da linguagem de segundo plano geral é diferente dos negócios de processamento de encadeamento único do NodeJS
Insira a descrição da imagem aqui

Quarto, o servidor criado pelo Node.js

1. O nó é um programa de servidor e todas as instruções JS escritas serão executadas no servidor do nó. O HTML retornado é todo HTML processado.

Os arquivos JS não podem ser arrastados diretamente para o navegador para execução, mas com o Node, você pode executar qualquer arquivo JS diretamente através do Node. Node é um ambiente de execução JS. Para
executar um servidor Node, se o script desse servidor for um arquivo JS. O comando do nó é usado para executar o arquivo.

2. O nó não possui um contêiner Wed (o nó não tem conceito de diretório raiz)

O Nó faz o design de roteamento de nível superior, por exemplo: uma URL: 127.0.0.1/tmp/bar / tmp e / bar não são pastas físicas,
ou seja: uma URL no Nó não tem nada a ver com o arquivo físico real, a URL é passada O design de nível superior do Node, que apresenta um determinado arquivo estático, pode ser roteado para qualquer arquivo estático.

5. Aplicação

1. Direção de desenvolvimento

  1. O nodeJs é bom em E / S, não em computação, porque o nodejs é melhor no agendamento de tarefas.Se sua empresa possui uma quantidade enorme de cálculos de CPU (código síncrono), na verdade é equivalente a esse cálculo bloquear o encadeamento inteiro, ou seja, uma quantidade enorme de A computação não é adequada para o desenvolvimento do NodeJS.
  2. Quando um aplicativo precisa lidar com um grande número de E / S altamente simultâneas e, antes de enviar uma resposta ao cliente, não é necessário um processamento complexo no aplicativo, os NodeJs são muito adequados.
  3. Adequado para trabalhar com soquetes da Web para desenvolver aplicativos interativos em tempo real com conexões longas.

2. aplicações principais

  1. API de serviço da Web, como: REST
  2. Multijogador em tempo real
  3. Serviços da web de back-end, como solicitações entre domínios e do servidor;
  4. Comunicação com vários clientes, como mensagens instantâneas
  5. Aplicativos baseados na Web, como: coleção de formulários do usuário

6. Perspectivas

  1. O Node.js é um produto de geeks que buscam o melhor desempenho, sem a consideração robusta de muitos servidores. Portanto, o nó não será usado em bancos, valores mobiliários, telecomunicações e outros negócios que exijam alta confiabilidade
  2. As empresas maduras basicamente usam o Node para realizar determinadas funções, como a letra interna de Zhihu, a maioria das formas do Baidu e a interação com o banco de dados.
  3. O nó não é uma bala de prata, o nó é apenas uma pequena ferramenta na caixa de ferramentas
Publicado 40 artigos originais · ganhou 31 · visualizações 2768

Acho que você gosta

Origin blog.csdn.net/CodingmanNAN/article/details/104486666
Recomendado
Clasificación