Pingora 0.4 kaleratzea, sareko zerbitzuak sortzeko esparrua

Cloudflare-k Pingora 0.4 markoaren oharra argitaratu du, Rust hizkuntzan errendimendu handiko sare-zerbitzu seguruak garatzeko diseinatua. Pingora erabiliz eraikitako proxy-a Cloudflare edukia bidaltzeko sarean erabili da Nginx-en ordez bi urte baino gehiagoz eta segundoko 40 milioi eskaera baino gehiago prozesatzen ditu. Kodea Rust-en idatzita dago eta Apache 2.0 lizentziarekin argitaratu da.

Pingoaren ezaugarri nagusiak:

  • HTTP/1 eta HTTP/2rako euskarria (HTTP/3 planetan), baita zerbitzuak sortzeko gaitasuna ere, protokolo propioak edo UDP/TCP erabiliz.
  • Hari anitzeko eskaerak modu asinkronoan prozesatzeko laguntza.
  • Eskaerak prozesatzeko hainbat fase kudeatzeko, baita eskaerak eta erantzunak aldatzeko, birbideratzeko, blokeatzeko eta erregistratzeko aukera ematen duten iragazkiak eta iragazkiak eransteko gaitasuna.
  • gRPC eta WebSocket proxy-a.
  • Konekta daitezkeen karga-orekatzaileak.
  • Berrabiarazi gabe konfigurazioa aldatzeko gaitasuna.
  • Aplikazio-kodea eguneratzeko laguntza konexioak hautsi gabe.
  • Porrotaren kasuan karga aldatzeko bitartekoak (failover).
  • Hainbat monitorizazio eta erregistro sistemarekin integratzea (Syslog, Prometheus, Sentry, OpenTelemetry).
  • TLS enkriptatzeko laguntza (OpenSSL, BoringSSL edo Rustls erabiliz).
  • Rust paketeak HTTP proxyak sortzeko, sareko protokoloekin lan egiteko, HTTP goiburuak analizatzeko, trafikoa kontabilizatzeko eta mugatzeko, karga orekatzeko, Ketama banatutako hash taularekin lan egiteko, RAM-en cachea mantentzeko eta denbora-muga asinkronoen prozesamendurako.

Bertsio berriaren aldaketen artean:

  • Rustls kriptografiaren liburutegirako hasierako laguntza aws-lc-rs eta BoringSSLn oinarritutako eraztun liburutegietan oinarritutako kripto-hornitzaileak erabiliz.
  • Windows plataformarako euskarri esperimentala.
  • TLS simulazio modua, benetako TLS inplementazio bat erabiltzea posible ez den egoeretan erabil daitekeena.
  • gRPC-web modulurako laguntza gehitu da gRPC-web bezeroen eskaerak eskabide bihurtzeko. zerbitzaria gRPC.
  • H2C (HTTP/2 TCP hutsaren bidez, enkriptaziorik gabe) eta HTTP/1 konexioak sareko ataka berean kudeatzeko gaitasuna eskaintzen du.
  • Connect() funtzioaren zure inplementazioak konektatzeko gaitasuna gehitu da sareko konexioa ezartzerakoan portaera aldatzeko, adibidez, socketerako aukera gehigarriak ezartzeko edo probak zehar akatsak simulatzeko.
  • Proxy-a egiterakoan informazio-erantzunak alde batera uzteko gaitasuna eman du, hala nola "Espero: 100-jarraitu" goiburua duten erantzunak.
  • Gzip bidez konprimitutako erantzunak deskonprimitzeko laguntza gehitu da.
  • Backend egoeraren kontabilitatea inplementatu da jarraipena egiteko.
  • Tokiko portu sorta batera lotzeko gaitasuna gehitu da.

Iturria: opennet.ru

Gehitu iruzkin berria