DEV Community

Cover image for O que é o Nginx?
Lay
Lay

Posted on • Edited on

O que é o Nginx?

O que é o Nginx?

O Nginx inicialmente foi construído para ser usado como servidor web, em resposta a um problema chamado C10K, esse problema era gerenciar 10 mil conexões simultâneas. Todavia, dado o desempenho ao longo do tempo, a ferramenta foi aumentando as funcionalidades, atuando hoje como: webserver, load balancer, proxy reverso, media streaming, além de proxy para serviços de e-mail.

Como ele funciona?

Hoje o Nginx é um dos servidores mais seguros e escaláveis por usar conexão orientada a eventos e assíncrona. E o que isso significa?

Ele usa o funcionamento de single thread para as requisições recebidas, explicarei logo abaixo, de maneira que pouca memória é necessária.

Ok, mas o que é a single thread?
Analise a imagem abaixo, o nginx possui uma fila de processos, chamada Thread Master, essa por sua vez gerencia os workers, que são os responsáveis por de fato executar a tarefas, onde cada um é alocado em núcleos de processamentos da máquina.

Image description

Agora que entendemos as divisões de tarefas dos núcleos, precisamos entender o porquê do nginx ser assíncrono e orientado a eventos.

Veja bem, imagine um servidor que recebe 100 requisições por segundo, onde o tempo de resposta varie e não sabemos ao certo quando o processamento irá ser finalizado. Nesse cenário, não podemos travar o servidor, impedindo que ele receba novas requisições, logo, enquanto uma tarefa X aguarda resposta, outras são resolvidas simultaneamente. Note que aqui encontramos mais uma característica do server, ele não faz com que uma tarefa seja bloqueada em detrimento de outra, há uma reorientação de recursos enquanto aguarda resposta, isso é possível porque é criado um canal de escuta que avisará quando tudo estiver concluído, sendo assim, orientado a eventos.

Você pode ler um pouco mais sobre isso aqui.

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more