10 pontos por xguru 2021-09-27 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Um playground para testar livremente alterações na configuração do nginx

→ insira a config e os comandos curl/http, depois clique em Run para executar

→ mostra o resultado dos comandos executados e os logs de erro do nginx

  • Frontend em Vue.js + backend em Go (apenas o código do servidor foi publicado como Gist)

  • Ao clicar no botão de execução, o backend em Go faz o seguinte

→ salva o arquivo de configuração em um arquivo temporário

→ cria um novo namespace de rede

   ip netns add $RANDOM_NAMESPACE_NAME

→ executa o go-httpbin na porta 777

→ inicia o nginx

→ espera 100 ms até o nginx iniciar corretamente; se falhar, retorna o log de erro do nginx

→ executa o comando inserido pelo usuário (verificando se é curl ou http)

→ retorna a saída da requisição

  • Todas as requisições são processadas por um único servidor compartilhado

  • Abordagem de segurança: um pouco de isolamento, um pouco de YOLO

→ o frontend é hospedado em uma CDN

→ não usa banco de dados; só usa o armazenamento local do navegador

→ cada nginx fica em seu próprio namespace de rede, bloqueando o acesso à internet

→ usa o plano gratuito da fly.io

→ colocou isso no FAQ para incentivar as pessoas a se comportarem de forma legal

  • Desempenho

→ instância bem pequena (1 CPU compartilhada, 256 MB de RAM)

→ como o frontend está na CDN, o backend só roda quando realmente é usado

→ cada requisição leva cerca de 400 ms. Nada mal

→ a versão Go do httpbin é mais leve que a versão original em Python

→ o desempenho do frontend não é lá essas coisas

Ainda não há comentários.

Ainda não há comentários.