Para conseguir atender as suas próprias demandas, a CloudFlare trocou o Nginx pelo Pingora, um software interno escrito em Rust.
CloudFlare há muito confia no Nginx como parte de sua pilha de proxy HTTP, mas agora o substituiu por seu software interno, o Pingora, 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.
CloudFlare trocou o Nginx pelo Pingora, um software interno escrito em Rust
Sim. 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 atingindo desvantagens, principalmente em relação aos recursos da CPU.
Além disso, o Nginx também provou ser difícil de estender às suas necessidades.
Os engenheiros da CloudFlare têm desenvolvido 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.
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.
Quanto aos benefícios de desempenho com o Pingora:
“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.
Aqueles que desejam aprender mais sobre o projeto Pingora da CloudFlare podem fazê-lo através do blog CloudFlare.
A única desvantagem é que o Pingora ainda não é de código aberto – CloudFlare diz que está trabalhando nos planos, mas no momento esse proxy HTTP ainda não é público.