
La 5-an de April, 2024, Cloudflare prezentis la unuan publikan eldonon de la malfermfontecprojekto Pingora v0.1.0 (jam v0.1.1). Ĝi estas nesinkrona multfadena kadro en Rust, kiu helpas krei HTTP-prokurajn servojn. La projekto estas uzata por krei servojn, kiuj provizas gravan parton de la trafiko al Cloudflare (anstataŭ uzi Nginx). La fontkodo de Pingora estas publikigita sur GitHub sub la permesilo Apache 2.0.
Pingora provizas bibliotekojn kaj API-ojn por konstrui servojn per HTTP/1 kaj HTTP/2, TLS, aŭ simple TCP/UDP. Kiel prokuriloservilo Ĝi subtenas fin-al-finan prokurilon de HTTP/1 kaj HTTP/2, gRPC, kaj WebSocket. HTTP/3 subteno estas planita. Pingora ankaŭ inkluzivas agordeblajn ŝarĝekvilibrigon kaj strategiojn por re-ekvilibro. Por certigi konformecon kaj sekurecon, ĝi subtenas ambaŭ la vaste uzatajn bibliotekojn OpenSSL kaj BoringSSL, kiuj konformas al FIPS (Federaciaj Informaj Prilaboraj Normoj) kaj post-kvanta ĉifrado.
Krom ĉi tiuj funkcioj, Pingora provizas filtrilojn kaj revokojn, kiuj permesas al uzantoj plene agordi kiel la servo devus prilabori, transformi kaj plusendi petojn.
En produktadreĝimo, Pingora provizas glatan rekomencon sen malfunkcio por ĝisdatigi sin sen perdi iujn ajn envenantajn petojn. Syslog, Prometheus, Sentry, OpenTelemetry kaj aliaj esencaj monitoraj iloj integriĝas perfekte kun Pingora.
Pingora funkcioj: uzo de Async Rust, subteno por HTTP 1/2 finfina prokurilo, TLS super OpenSSL aŭ BoringSSL, gRPC kaj websocket-proxiado, Graceful-reŝargi, agordebla ŝarĝbalancado kaj malsukcesaj strategioj, subteno por diversaj monitoraj iloj.
Pingora v0.1.1 korektas antaŭe malkovritajn erarojn, plibonigas la agadon de la pingora-ketama algoritmo, aldonas pli da TinyUFO-komparnormoj kaj testoj por pingora-kache-purigo, limigas la bufrograndecon por InvalidHTTPHeader-eraraj protokoloj, kaj ankaŭ korektas erarojn kaj faras necesajn korektojn en komentoj. kaj dokumenta projekto.
fonto: linux.org.ru
