Cloudflare troca Nginx pelo Pingora interno e escrito em Rust

Novo sistema é considerado mais moderno e atende às especificações da empresa.

A Cloudflare confia há bastante tempo no Nginx como parte de sua pilha de proxy HTTP. Porém, agora o substituiu por seu software Pingora interno, escrito em Rust, que supostamente atende a mais de um trilhão de solicitações por dia e oferece melhor desempenho usando apenas cerca de um terço dos recursos de CPU e memória. Assim, a Cloudflare troca Nginx pelo Pingora interno e escrito em Rust.

Sendo assim, a Cloudflare “superou” o Nginx e acabou criando sua própria pilha de proxy HTTP. A Cloudflare descobriu que a arquitetura do processo de trabalho do Nginx estava tendo muitas desvantagens, principalmente em relação aos recursos da CPU. O Nginx também provou ser difícil de estender às suas necessidades.

À medida que a Cloudflare cresceu, superamos o NGINX. Foi ótimo por muitos anos, mas com o tempo suas limitações em nossa escala fizeram com que a construção de algo novo fizesse sentido. Não conseguíamos mais obter o desempenho de que precisávamos nem o NGINX tinha os recursos de que precisávamos para nosso ambiente muito complexo.

Cloudflare troca Nginx pelo Pingora interno e escrito em Rust

Os engenheiros da Cloudflare vêm desenvolvendo o Pingora do zero como uma solução interna. A linguagem de programação Rust foi escolhida por sua segurança de memória enquanto ainda oferece desempenho semelhante ao C. A Cloudflare também implementou sua própria biblioteca HTTP para Rust para atender a todas as suas diferentes necessidades. Pingora emprega uma arquitetura multi-thread em vez de multi-processo.

Diagrama do Cloudflare Pingora. Cloudflare troca Nginx pelo Pingora interno e escrito em Rust.

Quanto aos benefícios de desempenho com o Pingora, temos que:

Em produção, o Pingora consome cerca de 70% menos CPU e 67% menos memória em comparação com nosso serviço antigo com a mesma carga de tráfego.

Além das vitórias impressionantes de desempenho, Pingora também é considerado mais seguro graças em grande parte ao uso de Rust.

Ao longo dos anos, nosso uso do NGINX esbarrou em limitações. Para algumas limitações, otimizamos ou trabalhamos em torno delas. Mas outros foram muito mais difíceis de superar.

O Pingora lida com quase todas as solicitações HTTP que precisam interagir com um servidor de origem (para uma falha de cache, por exemplo), e coletamos muitos dados de desempenho no processo.

Aqueles que desejam saber mais sobre o projeto Pingora da Cloudflare podem fazê-lo através do blog da Cloudflare. A única desvantagem é que o Pingora ainda não é de código aberto – a Cloudflare diz que está trabalhando nos planos, mas no momento esse proxy HTTP ainda não é público.

Share This Article
Follow:
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.
Sair da versão mobile