Pingora 0.1 lançado para criar sistemas de rede rápidos e confiáveis

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

Pingora 0.1 lançado para criar sistemas de rede rápidos e confiáveis
Pingora 0.1 lançado para criar sistemas de rede rápidos e confiáveis

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.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.