A Cloudflare publicou a primeira versão da estrutura Pingora, projetada para desenvolver serviços de rede seguros e de alto desempenho na linguagem Rust. O proxy, construído com Pingora, tem sido usado na rede de distribuição de conteúdo Cloudflare em vez do nginx há cerca de um ano e 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 características:
- Suporte para HTTP/1 e HTTP/2 (HTTP/3 nos planos), bem como capacidade de criar serviços usando protocolos próprios ou UDP/TCP.
- Possibilidade de processamento multithread de solicitações em modo assíncrono.
- Suporte para anexar manipuladores de retorno de chamada e filtros que permitem gerenciar vários estágios de processamento de solicitações, bem como modificar, redirecionar, bloquear e registrar solicitações e respostas.
- Proxy de gRPC e WebSocket.
- Balanceadores de carga conectáveis.
- Capacidade de alterar a configuração sem reiniciar.
- Suporte para atualização do código do aplicativo sem interromper conexões.
- Meios de comutação de carga em caso de falha (failover).
- Integração com diversos sistemas de monitoramento e registro (Syslog, Prometheus, Sentry, OpenTelemetry).
- Suporte para criptografia TLS (usando OpenSSL ou BoringSSL).
- Pacotes Rust prontos para criação de proxies HTTP, trabalho com protocolos de rede, análise de cabeçalhos HTTP, contabilidade e limitação de tráfego, balanceamento de carga, trabalho com tabela hash distribuída Ketama, manutenção de cache na RAM e processamento assíncrono de timeouts.
Fonte: opennet.ru
