Cloudflare ha pubblicato il primo rilascio del framework Pingora, dedicato allo sviluppo di servizi di rete ad alte prestazioni e protetti in linguaggio Rust. Un proxy costruito con Pingora è in uso da circa un anno nella rete di distribuzione dei contenuti di Cloudflare al posto di nginx e gestisce oltre 40 milioni di richieste al secondo. Il codice è scritto in Rust ed è pubblicato con licenza Apache 2.0.
Funzionalità principali:
- Supporto per HTTP/1 e HTTP/2 (in programma HTTP/3), oltre a funzionalità per la creazione di servizi che utilizzano i propri protocolli o UDP/TCP.
- Possibilità di elaborazione multithreading delle richieste in modalità asincrona.
- Supporto per l'allegato di callback e filtri, consentendo di gestire diverse fasi di elaborazione della richiesta, così come modificare, reindirizzare, bloccare e registrare richieste e risposte.
- Proxy gRPC e WebSocket.
- Bilanciatori di carico plug-and-play.
- Possibilità di modificare la configurazione senza riavviare.
- Supporto per l'aggiornamento del codice dell'applicazione senza interrompere le connessioni.
- Strumenti per il failover in caso di guasti.
- Integrazione con diversi sistemi di monitoraggio e registrazione (Syslog, Prometheus, Sentry, OpenTelemetry).
- Supporto per la crittografia TLS (con OpenSSL o BoringSSL).
- Pacchetti Rust pronti per creare proxy HTTP, lavorare con protocolli di rete, analizzare intestazioni HTTP, contare e limitare il traffico, bilanciare il carico, gestire una tabella hash distribuita Ketama, mantenere una cache in memoria e gestire in modo asincrono i timeout.
Fonte: opennet.ru
