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.
- 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.
- 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ê!