L'azienda Cloudflare ha aperto il codice di Pingora, uno strumento per la creazione di servizi di rete

La società Cloudflare ha annunciato l'apertura del codice sorgente del framework Pingora, progettato per lo sviluppo di servizi di rete protetti e ad alte prestazioni e sistemi di rete programmabili in linguaggio Rust. Il framework è stato ben testato e viene già utilizzato in sistemi ad alto carico: un proxy basato su di esso è attivo nella rete di distribuzione dei contenuti di Cloudflare da oltre un anno, sostituendo nginx e gestendo oltre 40 milioni di richieste al secondo. Il codice è scritto in Rust ed è pubblicato con licenza Apache 2.0.

Pingora può essere utilizzato per l'elaborazione multithread delle richieste in modalità asincrona, supporta HTTP/1 e HTTP/2 (è previsto HTTP/3), il proxying gRPC e WebSocket, bilanciatori di carico modulari, modifica della configurazione senza riavvio, aggiornamento del codice senza interruzione delle connessioni, definizione della strategia di failover e integrazione con diversi sistemi di monitoraggio e logging (Syslog, Prometheus, Sentry, OpenTelemetry). In Pingora è anche supportata la crittografia TLS, implementata come un'estensione delle librerie C OpenSSL e BoringSSL.

Sono disponibili pacchetti Rust pronti all'uso per la creazione di proxy HTTP, per lavorare con protocolli di rete, per l'analisi delle intestazioni HTTP, per il conteggio e il limite del traffico, per il bilanciamento del carico, per lavorare con la tabella hash distribuita Ketama, mantenere la cache in memoria e gestire i timeout in modo asincrono. Oltre a HTTP, è supportata la creazione di servizi che utilizzano protocolli propri o UDP/TCP.

La sicurezza è stata identificata come la priorità chiave del progetto: per ridurre la possibilità di errori legati alla gestione della memoria, è stato scelto il linguaggio Rust per lo sviluppo. È stata prestata particolare attenzione anche all'efficienza, alle prestazioni e all'espandibilità. Ad esempio, durante la creazione di proxy e bilanciatori di carico basati su Pingora, è prevista la possibilità di allegare gestori di callback e filtri che consentono di gestire diverse fasi dell'elaborazione della richiesta, nonché di modificare, reindirizzare, bloccare e registrare le richieste e le risposte.server e bilanciatori di carico basati su Pingora prevedono la possibilità di allegare gestori di callback e filtri, consentendo di gestire diverse fasi dell'elaborazione delle richieste e di modificare, reindirizzare, bloccare e registrare le richieste e le risposte.

Insieme all'organizzazione ISRG (Internet Security Research Group), che è il fondatore del progetto Let's Encrypt e promuove lo sviluppo di tecnologie per aumentare la sicurezza di Internet, sarà creato un reverse proxy chiamato River, progettato per essere utilizzato in elementi critici. dell'infrastruttura di reteIl codice di River sarà scritto in Rust e distribuito con licenza Apache 2.0. Lo sviluppo inizierà nel secondo trimestre del 2024. Attualmente, il progetto è in fase di progettazione e definizione dell'architettura. Il progetto è guidato da James Munns del Rust Embedded Working Group.

L'obiettivo principale del progetto River è la realizzazione di un proxy in grado di trasmettere le richieste dei client ai server backend, terminando le connessioni TLS in ingresso e instradando, modificando e filtrando le richieste in base a regole specificate. Tra le caratteristiche di River si segnala un modello di elaborazione delle richieste multithreading, che consente un riutilizzo delle connessioni più efficiente rispetto a proxy come nginx. Per ampliare le funzionalità del proxy e creare filtri, sarà supportato il caricamento di moduli compilati in formato WebAssembly (per lo sviluppo sarà possibile utilizzare qualsiasi linguaggio di programmazione che supporti la compilazione in WASM). Il formato di configurazione sarà progettato per essere il più semplice e intuitivo possibile.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster