Företaget Cloudflare har öppnat koden för Pingora, ett verktyg för att skapa nÀtverkstjÀnster

Cloudflare har meddelat att de öppnar kĂ€llkoden för ramverket Pingora, som Ă€r avsett för utveckling av sĂ€kra, högpresterande nĂ€tverkstjĂ€nster och programmerbara nĂ€tverkssystem med sprĂ„k som Rust. Ramverket har testats vĂ€l och anvĂ€nds redan i högbelastningssystem – en proxy byggd pĂ„ detta ramverk har varit i bruk i över ett Ă„r inom Cloudflares nĂ€tverk för innehĂ„llsleverans istĂ€llet för nginx och hanterar mer Ă€n 40 miljoner förfrĂ„gningar per sekund. Koden Ă€r skriven i Rust och publiceras under Apache 2.0-licensen.

Pingora kan anvÀndas för flervalsbehandling av förfrÄgningar i asynkront lÀge, stöder HTTP/1 och HTTP/2 (med planer pÄ HTTP/3), proxying av gRPC och WebSocket, pluggbara belastningsbalanserare, konfigurationsÀndringar utan omstart, koduppdateringar utan att bryta anslutningar, bestÀmmande av strategier för lastbalansering vid fel (failover), integration med olika övervaknings- och loggsystem (Syslog, Prometheus, Sentry, OpenTelemetry). TLS-kryptering stöds ocksÄ i Pingora, men implementeras som ett lager över C-biblioteken OpenSSL och BoringSSL.

FÀrdiga Rust-paket tillhandahÄlls för att skapa HTTP-proxys, arbeta med nÀtverksprotokoll, analysera HTTP-rubriker, hantera och begrÀnsa trafik, balansera belastning, arbeta med en distribuerad hash-tabell (Ketama), upprÀtthÄlla cache i RAM och asynkron behandling av tidsöverskridanden. Förutom HTTP stöds skapandet av tjÀnster som anvÀnder egna protokoll eller UDP/TCP.

Ett av projektets huvudprioriteringar Ă€r att sĂ€kerstĂ€lla sĂ€kerhet – för att minska risken för fel relaterade till minneshantering valdes Rust som utvecklingssprĂ„k. Stort fokus har ocksĂ„ lagts pĂ„ effektivitet, prestanda och skalbarhet. Till exempel, vid skapande av proxy-servrar och belastningsbalanserare baserade pĂ„ Pingora finns möjligheten att koppla callback-behandlare och filter som gör det möjligt att styra olika steg av förfrĂ„gningsbehandlingen, samt att Ă€ndra, omdirigera, blockera och logga förfrĂ„gningar och svar.

Tillsammans med organisationen ISRG (Internet Security Research Group), som Ă€r grundaren av projektet Let’s Encrypt och bidrar till utvecklingen av teknologier för att förbĂ€ttra internets sĂ€kerhet, kommer en reverse proxy som heter River att skapas baserad pĂ„ Pingora, avsedd för anvĂ€ndning i kritiska komponenter. av nĂ€tverksinfrastrukturKoden för River kommer att skrivas i Rust och distribueras under Apache 2.0-licensen. Utvecklingen kommer att börja under andra kvartalet 2024. För nĂ€rvarande Ă€r projektet i design- och arkitekturfasen. Projektet leds av James Munns frĂ„n Rust Embedded Working Group.

Huvudsyftet med projektet River Àr att implementera en proxy som kan översÀtta klientförfrÄgningar till backend-servrar, terminera inkommande TLS-anslutningar och dirigera, förÀndra och filtrera förfrÄgningar enligt angivna regler. Bland funktionerna för River nÀmns en flertrÄdig modell för behandling av förfrÄgningar, vilket möjliggör mer effektiv ÄteranvÀndning av anslutningar jÀmfört med proxyer som nginx. För att utöka proxyens funktionalitet och skapa filter kommer stöd för att ansluta moduler som kompilerats i WebAssembly-format att finnas (alla programmeringssprÄk som stöder kompilering till WASM kan anvÀndas för utveckling). Konfigurationsformatet planeras att göras sÄ enkelt och bekant som möjligt.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster