A empresa Cloudflare lançou a primeira versão do framework Pingora, destinado ao desenvolvimento de serviços de rede seguros e de alto desempenho na linguagem Rust. Construído com o auxílio do Pingora, um proxy usado há cerca de um ano na rede de entrega de conteúdo da Cloudflare, ele processa mais de 40 milhões de solicitações por segundo. O código é escrito em Rust e publicado sob a licença Apache 2.0.
Principais funcionalidades:
- Suporte a HTTP/1 e HTTP/2 (planejando HTTP/3), além de recursos para criar serviços que utilizam seus próprios protocolos ou UDP/TCP.
- Capacidade de processamento multithread de solicitações em modo assíncrono.
- Suporte à anexação de manipuladores de callback e filtros, permitindo gerenciar várias etapas do processamento da solicitação, além de modificar, redirecionar, bloquear e registrar solicitações e respostas.
- Proxy para gRPC e WebSocket.
- Balanceadores de carga plugáveis.
- Capacidade de alterar a configuração sem reinicialização.
- Suporte à atualização do código do aplicativo sem interromper as conexões.
- Ferramentas para comutação de carga em caso de falha (failover).
- Integração com diversos sistemas de monitoramento e registro de logs (Syslog, Prometheus, Sentry, OpenTelemetry).
- Suporte à criptografia TLS (usando OpenSSL ou BoringSSL).
- Pacotes Rust prontos para criar proxies HTTP, trabalhar com protocolos de rede, analisar cabeçalhos HTTP, contabilizar e limitar tráfego, balancear carga, trabalhar com tabelas de hash distribuídas Ketama, manter o cache em memória e processar timeouts de forma assíncrona.
Fonte: opennet.ru
