Tvrtka Cloudflare otvorila je kod Pingora, alata za izradu mrežnih servisa

Tvrtka Cloudflare objavila je otvoreni izvorni kod okvira Pingora, koji je namijenjen razvoju sigurnih i visokih performansi mrežnih usluga i programabilnih mrežnih sustava na jeziku Rust. Okvir je dobro testiran i već se koristi u radu sustava s visokom opterećenjem — proxy temeljen na njemu aktivno se koristi u mreži za dostavu sadržaja Cloudflare umjesto nginxa i obrađuje više od 40 milijuna zahtjeva u sekundi. Kod je napisan na jeziku Rust i objavljen je pod Apache 2.0 licencom.

Pingora se može koristiti za višestruko procesiranje zahtjeva u asinkronom načinu, podržava HTTP/1 i HTTP/2 (u planu je HTTP/3), proksiranje gRPC i WebSocket, priključne balansere opterećenja, promjenu konfiguracije bez ponovnog pokretanja, ažuriranje koda bez prekida veza, određivanje strategije prebacivanja opterećenja u slučaju kvara (failover), integraciju s raznim sustavima za nadzor i vođenje evidencije (Syslog, Prometheus, Sentry, OpenTelemetry). U Pingori se također podržava TLS enkripcija, koja je implementirana kao nadogradnja na C-libraries OpenSSL i BoringSSL.

Dostupni su gotovi Rust paketi za izradu HTTP proxy-a, rad s mrežnim protokolima, parsiranje HTTP zaglavlja, praćenje i ograničavanje prometa, balansiranje opterećenja, rad s distribuiranom hash tablicom Ketama, održavanje predmemorije u radnoj memoriji i asinkrono obrađivanje vremenskih limita. Osim HTTP-a, podržava se izrada usluga koje koriste vlastite protokole ili UDP/TCP.

Ključni prioritet projekta je osiguravanje sigurnosti — kako bi se smanjila vjerojatnost grešaka povezanih s operacijama memorijom, odabran je jezik Rust za razvoj. Velika pažnja također je posvećena učinkovitosti, performansama i proširivosti. Na primjer, prilikom izrade proxy-aposlužitelja i balancer-a opterećenja temeljenih na Pingori, predviđena je mogućnost priklapanja callback obrađivača i filtara, koji omogućuju upravljanje različitim fazama obrade zahtjeva, kao i izmjenu, preusmjeravanje, blokiranje i evidentiranje zahtjeva i odgovora.

Zajedno s organizacijom ISRG (Internet Security Research Group), koja je osnivač projekta Let’s Encrypt i pomaže u razvoju tehnologija za povećanje sigurnosti interneta, na bazi Pingore bit će stvoren obratni proxy River, prilagođen za primjenu u kritičnim elementima. mrežne infrastrukture. Kod River bit će napisan u Rustu i distribuiran pod Apache 2.0 licencom. Razvoj će započeti u drugom kvartalu 2024. godine. Trenutno je projekt u fazi dizajniranja i definiranja arhitekture. Projekt se odvija pod vodstvom Jamesa Munnsa (James Munns) iz Rust Embedded Working Group.

Glavna svrha projekta River je implementacija proksija koji može preusmjeravati zahtjeve klijenata na back-end servere, terminirajući dolazne TLS veze i usmjeravajući, mijenjajući i filtrirajući zahtjeve prema zadanom pravilima. Među značajkama River-a spominje se višedretvena obrada zahtjeva, što omogućuje učinkovitije ponovno korištenje veza u usporedbi s takvim proxyjima kao što je nginx. Kako bi se proširila funkcionalnost proksija i stvorili filtri, podržat će se povezivanje modula sastavljenih u WebAssembly formatu (može se koristiti bilo koji programski jezik koji podržava kompilaciju u WASM). Format konfiguracije planira se učiniti što jednostavnijim i poznatim.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster