Lëshimi i Pingora 0.7, një framework për krijimin e shërbimeve rrjet.

Cloudflare ka publikuar versionin 0.7 të framework-ut Pingora, i krijuar për zhvillimin e shërbimeve të sigurta të rrjetit me performancë të lartë në gjuhën Rust. Proxy i ndërtuar me Pingora përdoret tashmë prej më shumë se dy vitesh në rrjetin e shpërndarjes së përmbajtjes së Cloudflare në vend të nginx dhe përpunon mbi 40 milionë kërkesa në sekondë. Kodi është shkruar në gjuhën Rust dhe është publikuar nën licencën Apache 2.0.

Karakteristikat kryesore të Pingora:

  • MbĂ«shtetje pĂ«r HTTP/1 dhe HTTP/2 (nĂ« planet Ă«shtĂ« HTTP/3), si dhe mundĂ«sia pĂ«r tĂ« krijuar shĂ«rbime qĂ« pĂ«rdorin protokolle tĂ« veta ose UDP/TCP.
  • MbĂ«shtetje pĂ«r pĂ«rpunim shumĂ«thjeshtĂ«sor tĂ« kĂ«rkesave nĂ« mĂ«nyrĂ« asinkrone.
  • MundĂ«sia pĂ«r tĂ« bashkangjitur menaxhuese callback dhe filtra, tĂ« cilĂ«t lejojnĂ« menaxhimin e fazave tĂ« ndryshme tĂ« pĂ«rpunimit tĂ« kĂ«rkesave, si dhe ndryshimin, ridrejtimin, bllokimin dhe regjistrimin e kĂ«rkesave dhe pĂ«rgjigjeve.
  • Proksimi i gRPC dhe WebSocket.
  • Balancues ngarkese tĂ« qartĂ«.
  • MundĂ«sia pĂ«r tĂ« ndryshuar konfigurimin pa rinisje.
  • MbĂ«shtetje pĂ«r azhurnimin e kodit tĂ« aplikacionit pa ndĂ«rprerje tĂ« lidhjeve.
  • Mjetet pĂ«r kalimin e ngarkesĂ«s nĂ« rast dĂ«shtimi (failover).
  • Integrimi me sisteme tĂ« ndryshme tĂ« monitorimit dhe regjistrimit tĂ« tĂ« dhĂ«nave (Syslog, Prometheus, Sentry, OpenTelemetry).
  • MbĂ«shtetje pĂ«r enkriptimin TLS (pĂ«rdoren OpenSSL, BoringSSL ose Rustls).
  • Paketa tĂ« gatshme Rust pĂ«r krijimin e proksi HTTP, punĂ«n me protokolle rrjeti, pĂ«rpunimin e kokĂ«s HTTP, mbajtjen dhe kufizimin e trafikut, balancimin e ngarkesĂ«s, punĂ«n me tabelat e hesh dhe mbajtjen e caches nĂ« memorie tĂ« pĂ«rkohshme dhe pĂ«rpunimin asinkron tĂ« kohĂ«ve tĂ« prishura.

Ndër ndryshimet në versionin e ri:

  • NĂ« strukturĂ«n SslDigest Ă«shtĂ« shtuar fusha «extension», ndĂ«rsa pĂ«r trait-in TlsAccept Ă«shtĂ« implementuar trajtuesi handshake_complete_callback, tĂ« cilat lejojnĂ« lidhjen e tĂ« dhĂ«nave arbitrare specifike pĂ«r aplikacionin me lidhjen TLS. Si shembull tregohet se si tĂ« pĂ«rdoret kjo mundĂ«si pĂ«r krijimin e serverĂ«, qĂ« lexon informacionin nga certifikata e klientit dhe e kthen atĂ« nĂ« pĂ«rgjigjen HTTP.
  • ËshtĂ« shtuar trait-i ConnectionFilter pĂ«r filtrimin e lidhjeve TCP nĂ« fazĂ«n para dakordimit tĂ« parametrave TLS, gjĂ« qĂ« lejon kursimin e burimeve duke ndĂ«rprerĂ« lidhjet nĂ« njĂ« fazĂ« tĂ« hershme.
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r rrjedha virtuale tĂ« nivelit tĂ« transportit (Virtual L4 Streams), qĂ« mundĂ«sojnĂ« integrimin e implementimeve tuaja tĂ« protokolleve tĂ« rrjetit nĂ« pingora-proxy.
  • ËshtĂ« implementuar mundĂ«sia e pĂ«rdorimit tĂ« opsioneve verify_cert dhe verify_hostname nĂ« konfigurimet me rustls.
  • PĂ«r paketat e jashtme crate Ă«shtĂ« lejuar qasja te struktura HttpProxy pĂ«r tĂ« mbishkruar logjikĂ«n e proksimit tĂ« kĂ«rkesave.
  • ËshtĂ« lejuar ndarja e trajtuesve nĂ« sfond pĂ«r nĂ«nkĂ«rkesat nga trajtuesi kryesor i sesionit.
  • ËshtĂ« ofruar mundĂ«sia pĂ«r tĂ« gjurmuar madhĂ«sinĂ« e trupit tĂ« kĂ«rkesave HTTP1 dhe HTTP2, si edhe metrikat e funksionimit tĂ« proxy-sĂ«.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r krijimin e sesioneve tĂ« personalizuara pĂ«r trafikun HTTP tĂ« enkapsuluar.
  • JanĂ« vendosur kufizime pĂ«r pĂ«rdorimin e versioneve tĂ« bibliotekĂ«s lru (0.16.3 ose mĂ« tĂ« reja) pĂ«r shkak tĂ« njĂ« cenueshmĂ«rie nĂ« implementimin e iteratorit IterMut, e cila çon nĂ« ndĂ«rprerje tĂ« papritur tĂ« punĂ«s pĂ«r shkak tĂ« aktivizimit tĂ« kontrollit tĂ« huazimit tĂ« variablave (borrow checker).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster