Pingora 0.7 vÀljaanne, raamistik vÔrgu teenuste loomiseks.

Cloudflare on vĂ€lja andnud Pingora 0.7 raamistikku, mis on mĂ”eldud Rust keeles turvaliste ja kĂ”rge jĂ”udlusega vĂ”rguteenuste arendamiseks. Pingora abil ehitatud proksi on juba ĂŒle kahe aasta kasutusel Cloudflare'i sisuhalduse vĂ”rgus, asendades nginx'i ja töötluses on ĂŒle 40 miljoni pĂ€ringu sekundis. Kood on kirjutatud Rust keeles ja avaldatud Apache 2.0 litsentsi alusel.

Pingora peamised omadused:

  • Toetab HTTP/1 ja HTTP/2 (plaanis on HTTP/3) ning vĂ”imaldab teenuste loomist, mis kasutavad oma protokolle vĂ”i UDP/TCP.
  • Toetab mitme lĂ”imega pĂ€ringute töötlemist asĂŒnkroonses reĆŸiimis.
  • VĂ”imalus kinnitada callback-kĂ€itlejaid ja filtreid, mis vĂ”imaldavad hallata erinevaid pĂ€ringu töötlemise etappe, samuti muuta, suunata, blokeerida ja logida pĂ€ringute ja vastuste kujundust.
  • gRPC ja WebSocket-i proksimine.
  • Lisanduvad koormuse tasakaalurid.
  • VĂ”imalus muuta konfiguratsiooni ilma taaskĂ€ivitamiseta.
  • Toetab rakenduskoodi vĂ€rskendamist ĂŒhenduste katkestamatuks.
  • Vahendid koormuse ĂŒmbersuunamiseks tĂ”rgete korral (failover).
  • Integreeritud erinevate jĂ€lgimis- ja logimissĂŒsteemidega (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Toetab TLS-krĂŒptimist (kasutatakse OpenSSL, BoringSSL vĂ”i Rustls).
  • Valmis Rusti paketid HTTP-proksi loomiseks, vĂ”rgu protokollidega töötamiseks, HTTP-pealkirjade eraldamiseks, liikluse arvestamiseks ja piiramiseks, koormuse tasakaalustamiseks, jaotatud rippmenĂŒĂŒd Ketama haldamiseks, mĂ€lus hoidmiseks ja asĂŒnkroonselt töötlemiseks.

Uues versioonis on jÀrgmised muudatused:

  • SslDigest struktuuri on lisatud vĂ€li 'extension' ja TlsAccept tĂŒĂŒbi jaoks on rakendatud kĂ€sitleja handshake_complete_callback, mis vĂ”imaldab TLS-ĂŒhendusele kinnitada rakendusspetsiifilisi andmeid. NĂ€itena on nĂ€idatud, kuidas seda vĂ”imalust kasutada. serverilt, et lugeda kliendi sertifikaadist teavet ja tagastada see HTTP-reaktsioonis.
  • Lisatud on ConnectionFilter tĂŒĂŒbi, et filtreerida TCP-ĂŒhendusi enne TLS parameetrite lĂ€birÀÀkimiste etappi, mis vĂ”imaldab ressursse sÀÀsta, katkestades ĂŒhendused varajases etapis.
  • Lisatud on tugiteenuse virtuaalsed tasemed (Virtual L4 Streams), mis vĂ”imaldavad pingora-proxy'le integreerida oma vĂ”rguprotokollide rakendusi.
  • Rakendatud on vĂ”imalus kasutada opties 'verify_cert' ja 'verify_hostname' konfiguratsioonides, kus on rustls.
  • VĂ€listest crate-pakettidest on lubatud juurdepÀÀs HttpProxy struktuurile, et ĂŒlekirjutada pĂ€ringute proximise loogikat.
  • Lubatud on taustatöötluse eraldamine alamkĂŒsimustest peamisest sessiooni töötlejast.
  • Pakkuda on vĂ”imalus jĂ€lgida HTTP1 ja HTTP2 pĂ€ringute kehade suurust ning proksi töötamise metriikat.
  • Lisatud on vĂ”imalus luua oma seansse enkapsuleeritud HTTP-liikluse jaoks.
  • Seatud on piirangud lru raamatukogu versioonide (0.16.3 vĂ”i uuem) kasutamiseks, kuna IterMut'i kĂ€sitleja rakendamise haavatavus vĂ”ib pĂ”hjustada kokkuvarisemise, kui kontrollitakse muutujate laenamise (borrow checker) reeglite jĂ€rgimist.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster