Diga-me o que você sabe sobre o Nginx

Análise e Respostas

dados de desempenho do nginx

  • Conexões simultâneas altas: Oficialmente, um único nó suporta 50.000 conexões simultâneas, e o ambiente de produção real pode suportar 20.000 a 30.000 conexões simultâneas.
  • Baixo consumo de memória: abaixo de 30.000 conexões simultâneas, iniciar 10 processos nginx consome apenas 150M de memória (15M×10=150M)

1. Proxy direto e reverso

O chamado "proxy" refere-se à configuração de um hardware/software para encaminhar solicitações na borda da rede interna; o termo "encaminhar" ou "reverso" depende se o encaminhamento é uma "solicitação de saída" ou uma "solicitação de entrada". solicitar".

  • Proxy de encaminhamento : trata das solicitações de saída do cliente, encaminha-as para a Internet e retorna a resposta resultante ao cliente. 
  • Proxy reverso : trata solicitações de entrada da Internet, encaminha-as para um trabalhador de back-end e retorna a resposta para a Internet.

  1. Os proxies diretos e os proxies reversos diferem na direção do proxy, mas ambos são proxy para lidar com solicitações/respostas HTTP.
  2. O propósito da existência do servidor proxy:
    • Host bastião/intranet isolada: os clientes da intranet não podem acessar a rede externa e precisam configurar um host bastião e ocultar o servidor de trabalho da intranet
    • Recursos adicionais do servidor proxy: realizar operações no tráfego, usar cache ou compactação para melhorar o desempenho, defender-se contra ataques e filtrar informações

2. Balanceamento de carga

O balanceamento de carga geralmente é acompanhado por proxy reverso, que tem o efeito de distribuir tráfego, proxy transparente e aumentar a tolerância a falhas.

http {
    upstream myapp1 {
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://myapp1;
        }
    }
}
复制代码

estratégia de balanceamento de carga

  • round-robin Como o nome sugere: votação
  • menos conectado: a próxima solicitação será enviada ao servidor com menos conexões ativas
  • ip-hash: Determine para qual servidor enviar a solicitação com base no endereço IP do cliente e na função hash

3. Separação de movimento e estática

A separação dinâmica e estática está intimamente relacionada ao atual conceito quente de separação front-end e back-end.

O front-end pode ser desenvolvido e testado por si só, e o nginx pode ser usado para formar um servidor de recursos estáticos. O serviço de back-end é usado apenas como um recurso adicional.

O exemplo a seguir mostra que os recursos estáticos estão em /usr/share/nginx/html e o caminho do recurso dinâmico contém API ou swagger.

  upstream eap_website {
      server eapwebsite;
    }

  server {
      listen      80;
      location / {            # 静态资源
            root /usr/share/nginx/html;
            index index.html index.htm;
            try_files $uri /index.html;
      }

      location ^~ /api/  {     # 动态资源
         proxy_pass         http://eap_website/api/;
      }

      location ^~ /swagger/  {    # 动态资源
         proxy_pass         http://eap_website/swagger/;
      }
  }

Meow Interview Assistant: Uma solução completa para perguntas de entrevista. Você pode pesquisar no miniaplicativo WeChat [Meow Interview Assistant]  ou seguir [Meow Interview Assistant] -> Interview Assistant para  responder perguntas gratuitamente. Se você tiver algum bom conhecimento ou habilidades para entrevistas, estou ansioso para compartilhá-los com você!

Acho que você gosta

Origin blog.csdn.net/jjclove/article/details/127394245
Recomendado
Clasificación