Lëshohet Pingora 0.7, një kornizë për zhvillimin e shërbimeve rrjetë

Kompania Cloudflare publikoi versionin e frameworkut Pingora 0.7, i cili është krijuar për të zhvilluar shërbime rrjeti të sigurta dhe me performancë të lartë në gjuhën Rust. Duke u ndërtuar me Pingora, proxy ka qenë i përdorur për më shumë se dy vjet në rrjetin e shpërndarjes së përmbajtjes Cloudflare si zëvendësim për 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.

Veçoritë Kryesore të Pingora:

  • MbĂ«shtetje pĂ«r HTTP/1 dhe HTTP/2 (me plane pĂ«r HTTP/3), si dhe mundĂ«sia pĂ«r tĂ« krijuar shĂ«rbime qĂ« pĂ«rdorin protokole tĂ« veta ose UDP/TCP.
  • MbĂ«shtetje pĂ«r pĂ«rpunimin nĂ« shumĂ« thread-e nĂ« mĂ«nyrĂ« asinkrone.
  • MundĂ«sia pĂ«r tĂ« bashkangjitur callback-handler dhe filtra, tĂ« cilat lejojnĂ« menaxhimin e fazave tĂ« ndryshme tĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s, si dhe ndryshimin, ridrejtimin, bllokimin dhe regjistrimin e kĂ«rkesave dhe pĂ«rgjigjeve.
  • Proksimi gRPC dhe WebSocket.
  • Balancues ngarkese tĂ« lidhur.
  • MundĂ«sia e ndryshimit tĂ« konfigurimit pa rifilluar.
  • MbĂ«shtetje pĂ«r pĂ«rditĂ«simin e kodit tĂ« aplikacionit pa ndĂ«rprerĂ« lidhjet.
  • Mjetet pĂ«r kalimin e ngarkesĂ«s nĂ« rast dĂ«shtimi (failover).
  • Integrimi me sisteme tĂ« ndryshme monitorimi dhe regjistrimi (Syslog, Prometheus, Sentry, OpenTelemetry).
  • MbĂ«shtetje pĂ«r enkriptimin TLS (pĂ«rdoret OpenSSL, BoringSSL ose Rustls).
  • Paketat pĂ«rgatitore nĂ« Rust pĂ«r krijimin e proxy HTTP, punĂ«n me protokollet rrjet, analizimin e kokave HTTP, monitorimin dhe kufizimin e trafikut, balansimin e ngarkesĂ«s, punĂ«n me tabelĂ«n e heshĂ«jave tĂ« shpĂ«rndara Ketama, ruajtjen e cache-sĂ« nĂ« memorien e operativĂ«s dhe trajtimin asinkron tĂ« skadimeve.

Ndër ndryshimet në versionin e ri:

  • Struktura SslDigest ka shtuar fushĂ«n "extension", dhe pĂ«r tipin TlsAccept Ă«shtĂ« realizuar njĂ« trajtues handshake_complete_callback, i cili lejon tĂ« ngjitemi tĂ« dhĂ«na tĂ« rastĂ«sishme, specifike pĂ«r aplikacionin, nĂ« lidhjen TLS. Si shembull Ă«shtĂ« treguar se si tĂ« pĂ«rdoret kjo mundĂ«si pĂ«r krijimin server, e cila lexon informacionin nga certifikata e klientit dhe e kthen atĂ« nĂ« pĂ«rgjigjen HTTP.
  • Ka shtuar tipin ConnectionFilter pĂ«r filtrimin e lidhjeve TCP nĂ« fazĂ«n para negociatave tĂ« parametrave TLS, duke lejuar kursimin e burimeve dhe duke hedhur lidhjet nĂ« njĂ« fazĂ« tĂ« hershme.
  • Ka shtuar mbĂ«shtetje pĂ«r rrjedhat virtuale tĂ« nivelit transport (Virtual L4 Streams), duke lejuar integrimin e realizimeve tĂ« veta tĂ« protokolleve tĂ« rrjetit nĂ« pingora-proxy.
  • Nuk Ă«shtĂ« realizuar 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 nĂ« strukturĂ«n HttpProxy pĂ«r tĂ« tejkaluar logjikĂ«n e prokureve tĂ« kĂ«rkesave.
  • ËshtĂ« lejuar ndarja e trajtuesve tĂ« prapavijĂ«s pĂ«r nĂ«n-kĂ«rkesat nga trajtuesi kryesor i seancĂ«s.
  • ËshtĂ« ofruar mundĂ«sia pĂ«r ndjekjen e madhĂ«sisĂ« sĂ« trupit tĂ« kĂ«rkesave HTTP1 dhe HTTP2, si dhe metrike tĂ« funksionimit tĂ« proxy.
  • Ka shtuar mundĂ«sinĂ« e krijimit tĂ« seancave tĂ« veta pĂ«r trafikun HTTP tĂ« inkapsuluar.
  • 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Ă« vulnerabiliteti nĂ« realizimin e iteratores IterMut, i cili çon nĂ« ndalimin e papritur pĂ«r shkak tĂ« kontrollit tĂ« huazimit tĂ« variablave (borrow checker).

Burimi: opennet.ru

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