Cloudflare a lansat codul sursă al Pingora, un cadru scris în Rust pentru a crea servicii de rețea

Pingora

Banner Pinora

Acum cateva zile Cloudflare a fost dezvăluit, printr-o postare pe blog, decizia sa de a lansa codul sursă al cadrului său „Pingora”, special conceput pentru dezvoltarea serviciilor de rețea sigure și de înaltă performanță, precum și sisteme de rețea programabile în limbajul Rust.

Acest cadru furnizează pachete Rust gata de fabricație care facilitează crearea unui proxy HTTP, lucrul cu protocoale de rețea, analizarea antetelor HTTP, contabilizarea și limitarea traficului, echilibrarea sarcinii, gestionarea tabelului hash distribuit Ketama, menținerea unui cache în RAM și procesarea asincronă a timeout-urilor. Pe lângă suportul pentru HTTP, Pingora permite crearea de servicii folosind propriile protocoale sau UDP/TCP.

Ce este Pingora?

Pingora este un cadru Rust asincron multithreaded, conceput pentru a construi servicii proxy HTTP în siguranță și eficient.. De la lansare, Pingora a fost testat pe scară largă și utilizat pe sisteme cu încărcare mare, ca proxy utilizat în rețeaua de livrare de conținut a Cloudflare, procesând peste 40 de milioane de solicitări pe secundă timp de peste un an.

Cloudflare menționează că securitatea este o prioritate cheie a proiectului, motiv pentru care limbajul Rust a fost ales pentru a reduce probabilitatea erorilor legate de memorie. În plus, s-a acordat atenție eficienței, performanței și extensibilității, permițând integrarea filtrelor și a gestionarilor de apel invers pentru a controla diferitele etape ale procesării cererilor, precum și pentru a modifica, redirecționa, bloca și înregistrează cereri și răspunsuri.

Pingora este o bibliotecă și un set de instrumente, nu un binar executabil. Cu alte cuvinte, Pingora este motorul care alimentează o mașină, nu mașina în sine. Deși Pingora este gata de producție pentru uz industrial, înțelegem că mulți oameni își doresc un serviciu web la cheie, cu baterii incluse și cu opțiuni de configurare fără cod sau low-code. Construirea acelei aplicații pe partea de sus a Pingora va fi punctul central al colaborării noastre cu ISRG pentru a extinde acoperirea Pingora. Rămâneți pe fază pentru anunțuri viitoare despre acel proiect.

Printre beneficiile cheie ale Pingora, se remarcă următoarele:

  1. Securitatea memoriei: Pingora oferă o alternativă mai sigură pentru memorie în comparație cu serviciile scrise în C/C++. Acest lucru are ca rezultat o probabilitate mai mică de erori de codare care ar putea compromite securitatea sistemului.
  2. Performanță optimizată: Datorită arhitecturii sale multithreaded, Pingora este rapid și eficient, economisind CPU și resurse de memorie. Acest lucru este benefic în special pentru sarcinile de lucru sensibile la performanță și la costuri.
  3. Personalizare avansată: API-urile furnizate de Pinora sunt foarte programabile, permițând personalizare extinsă pentru a crea gateway-uri personalizate și avansate sau echilibrare de încărcare.

Pingora oferă mai multe caracteristici cheie, cum ar fi procesarea multi-threaded a cererilor în modul asincron, suport pentru HTTP/1 și HTTP/2 (cu planuri pentru HTTP/3), proxy gRPC și WebSocket, echilibrare de încărcare conectabile, modificarea configurației fără repornire, actualizare a codului fără întreruperea conexiunilor, strategii de comutare a încărcării în caz de eșec (failover), integrare cu sisteme de monitorizare și înregistrare (cum ar fi Syslog, Prometheus, Sentry, OpenTelemetry) și suport pentru criptarea TLS prin bibliotecile OpenSSL și BoringSSL C.

Caracteristici evidențiate de Pingora

  • Suport pentru HTTP/1 și HTTP/2 proxy, gRPC și websocket.
  • Strategii personalizabile de echilibrare a încărcăturii și failover.
  • Integrare cu bibliotecile OpenSSL și BoringSSL pentru conformitate și securitate.
  • Filtre și apeluri inverse pentru personalizare și procesarea cererilor.
  • Reporniri grațioase fără timp de nefuncționare pentru actualizări fără întreruperi.
  • Integrare cu instrumente de observabilitate precum Syslog, Prometheus, Sentry, OpenTelemetry, printre altele.

În cele din urmă, Cloudflare menționează că colaborează cu proiectul Prossimo Internet Security Research Group (ISRG) pentru a avansa în adoptarea Pingora în infrastructura critică a Internetului, contribuind astfel la un Internet mai sigur și mai fiabil pentru toată lumea.

Dacă ești interesat să afle mai multe despre asta, trebuie să știți că codul este scris în Rust și publicat sub licența Apache 2.0, puteți consulta și publicația Cloudflare În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.