10 pontos por xguru 2021-09-27 | Ainda não há comentários. | Compartilhar no WhatsApp
<p>- Um playground para testar livremente alterações na configuração do nginx <br /> → insira a config e os comandos `curl`/`http`, depois clique em Run para executar<br /> → mostra o resultado dos comandos executados e os logs de erro do nginx <br /> - Frontend em Vue.js + backend em Go (apenas o código do servidor foi publicado como Gist)<br /> - Ao clicar no botão de execução, o backend em Go faz o seguinte <br /> → salva o arquivo de configuração em um arquivo temporário<br /> → cria um novo namespace de rede <br /> &nbsp;&nbsp;&nbsp;`ip netns add $RANDOM_NAMESPACE_NAME`<br /> → executa o go-httpbin na porta 777<br /> → inicia o nginx<br /> → espera 100 ms até o nginx iniciar corretamente; se falhar, retorna o log de erro do nginx<br /> → executa o comando inserido pelo usuário (verificando se é `curl` ou `http`)<br /> → retorna a saída da requisição <br /> - Todas as requisições são processadas por um único servidor compartilhado <br /> <br /> - Abordagem de segurança: um pouco de isolamento, um pouco de YOLO <br /> → o frontend é hospedado em uma CDN <br /> → não usa banco de dados; só usa o armazenamento local do navegador<br /> → cada nginx fica em seu próprio namespace de rede, bloqueando o acesso à internet <br /> → usa o plano gratuito da fly.io <br /> → colocou isso no FAQ para incentivar as pessoas a se comportarem de forma legal <br /> <br /> - Desempenho<br /> → instância bem pequena (1 CPU compartilhada, 256 MB de RAM)<br /> → como o frontend está na CDN, o backend só roda quando realmente é usado<br /> → cada requisição leva cerca de 400 ms. Nada mal <br /> → a versão Go do httpbin é mais leve que a versão original em Python <br /> → o desempenho do frontend não é lá essas coisas </p>

Ainda não há comentários.

Ainda não há comentários.