Pouco tempo após se tornar um software de código aberto, agora foi lançado o Pingora 0.1 para criar sistemas de rede rápidos e confiáveis.
Em 2022, a Cloudflare começou a falar sobre a substituição do Nginx por seu próprio código interno escrito em Rust chamado Pingora, falou mais sobre o Pingora em 2023 e, em fevereiro passado, tornou o framework Pingora de código aberto para a criação de sistemas de rede rápidos e confiáveis.
O Framework Pingora é descrita pela Cloudflare como:
“Pingora fornece bibliotecas e APIs para construir serviços sobre HTTP/1 e HTTP/2, TLS ou apenas TCP/UDP. Como proxy, ele suporta HTTP/1 e HTTP/2 ponta a ponta, gRPC e proxy websocket. (O suporte a HTTP/3 está no roteiro.) Ele também vem com estratégias personalizáveis de balanceamento de carga e failover. Para conformidade e segurança, ele oferece suporte às bibliotecas OpenSSL e BoringSSL comumente usadas, que vêm com conformidade FIPS e criptografia pós-quântica.
Além de disponibilizar essas funcionalidades, o Pingora disponibiliza filtros e callbacks para permitir que seus usuários personalizem totalmente a forma como o serviço deve processar, transformar e encaminhar as solicitações. Essas APIs serão especialmente familiares aos usuários do OpenResty e NGINX, já que muitas mapeiam intuitivamente os retornos de chamada “*_by_lua” do OpenResty.
Operacionalmente, o Pingora fornece reinicializações graciosas com tempo de inatividade zero para atualizar-se sem descartar uma única solicitação recebida. Syslog, Prometheus, Sentry, OpenTelemetry e outras ferramentas de observabilidade indispensáveis também são facilmente integradas ao Pingora.”
Você deve considerar Pingora se:
A segurança é sua principal prioridade: Pingora é uma alternativa com mais segurança de memória para serviços escritos em C/C++. Embora alguns possam argumentar sobre a segurança da memória entre linguagens de programação, pela nossa experiência prática, somos muito menos propensos a cometer erros de codificação que levam a problemas de segurança da memória. Além disso, à medida que gastamos menos tempo lutando com esses problemas, somos mais produtivos na implementação de novos recursos.
Seu serviço depende do desempenho: Pingora é rápido e eficiente. Conforme explicado em nossa postagem anterior, economizamos muitos recursos de CPU e memória graças à arquitetura multithread do Pingora. A economia de tempo e recursos pode ser atraente para cargas de trabalho sensíveis ao custo e/ou à velocidade do sistema.
Seu serviço requer ampla personalização: as APIs fornecidas pela estrutura de proxy Pingora são altamente programáveis. Para usuários que desejam construir um gateway ou balanceador de carga personalizado e avançado, o Pingora oferece maneiras poderosas, porém simples, de implementá-lo.
E, mais recentemente, foi anunciado o primeiro lançamento oficial do Pingora com a tag v0.1.
Novidades do Pingora 0.1
Sim. O Pingora 0.1 foi lançado para criar sistemas de rede rápidos e confiáveis. Embora o código Pingora seja de código aberto desde fevereiro, esse lançamento marca o primeiro release marcado com a versão 0.1. O código está disponível para download no GitHub.
Embora esteja na versão 0.1 para a base de código pública, o Pingora já está em uso em produção há algum tempo no Cloudflare e atendendo milhões de solicitações de Internet por segundo.
Eles promovem o Pingora como sendo rápido, confiável e programável. Como um lembrete dos principais atributos do Pingora da perspectiva da Cloudflare:
Dito isso, esses são os destaques de recursos:
- Async Rust: rápido e confiável
- Proxy HTTP 1/2 de ponta a ponta
- TLS sobre OpenSSL ou BoringSSL
- proxy gRPC e websocket
- Recarga graciosa
- Estratégias personalizáveis de balanceamento de carga e failover
- Suporte para uma variedade de ferramentas de observabilidade
Razões para usar Pingora
- Segurança é sua principal prioridade: Pingora é uma alternativa mais segura de memória para serviços escritos em C/C++
- Seu serviço é sensível ao desempenho: Pingora é rápido e eficiente
- Seu serviço requer ampla personalização: as APIs que a estrutura de proxy Pingora fornece são altamente programáveis
Para saber mais sobre essa versão do Pingora, acesse a nota de lançamento.
Como instalar ou atualizar o Pingora
O código Pingora Rust está disponível sob uma licença Apache 2.0. Pingora v0.1 está disponível para download no GitHub.