No início dos anos 2000, os servidores web atribuíam uma thread ou um processo a cada conexão, e os sites de alto tráfego atingiam um limite em torno de dez mil conexões simultâneas, o problema C10K. O desenvolvedor russo Igor Sysoev começou a escrever o nginx em 2002 para resolver exatamente isso para o Rambler, um grande portal russo.

O nginx trata as conexões como eventos processados por um pequeno número de processos, de modo que o uso de memória permanece baixo sob carga e o comportamento se mantém previsível. O mesmo núcleo serve como servidor HTTP, proxy reverso, cache de conteúdo, balanceador de carga e proxy TCP/UDP ou de e-mail, com uma arquitetura modular.

Lançado pela primeira vez em outubro de 2004, o nginx se espalhou dos portais russos para uma grande fração dos sites do mundo; o nginx.org o chama de servidor web mais popular do mundo segundo a Netcraft. A Nginx, Inc. foi fundada em 2011 para suporte comercial, e a F5 adquiriu a empresa em março de 2019 por aproximadamente US$ 670 milhões, mantendo os fundadores.

Tratar cada conexão como um evento leve, não como uma thread

O tratamento orientado a eventos mantém a memória estável sob muitas conexões

Um único servidor cobre proxy, cache, balanceamento de carga e TLS

Uma base de código aberto construiu uma enorme comunidade e presença

O baixo uso de recursos tornou barato operá-lo em escala

Quando o gargalo é um recurso por conexão, mude o modelo de recursos: a multiplexação orientada a eventos supera adicionar hardware ou threads, e um único servidor eficiente pode substituir uma frota.

Sob a F5, o nginx continua sendo tanto um projeto de código aberto quanto uma família de produtos comerciais, amplamente usado como front end para o tráfego web e como padrão de controlador de ingress do Kubernetes. Com a aquisição avaliada em cerca de US$ 670 milhões, a comunidade de código aberto fazia explicitamente parte do que a F5 comprou.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. nginx: web server, reverse proxy, load balancer nginx.org · nginx.org
  2. F5 Acquires NGINX to Bridge NetOps & DevOps F5 Networks · f5.com ·
  3. nginx Wikipedia · en.wikipedia.org