Cloudflare va alliberar el codi font de Pingora un framework escrit a Rust per crear serveis de xarxa

Pingora

banner de Pingora

Fa pocs dies Cloudflare va donar a conèixer, mitjançant una publicació de bloc, la seva decisió d'alliberar el codi font del seu framework «Pingora» , dissenyat específicament per a desenvolupar serveis de xarxa segurs i d'alt rendiment, així com sistemes de xarxa programables en el llenguatge Rust.

aquest framework proporciona paquets Rust llestos per utilitzar que faciliten la creació d'un servidor intermediari HTTP, el treball amb protocols de xarxa, l'anàlisi de capçaleres HTTP, la comptabilització i limitació del trànsit, el balanceig de càrrega, la gestió de la taula hash distribuïda Ketama, el manteniment d'un caixet en RAM i el processament asíncron de temps d'espera. A més del suport per a HTTP, Pingora permet la creació de serveis utilitzant els seus propis protocols o UDP/TCP.

Què és Pingora?

Pingora és framework multiprocés asíncron de Rust dissenyat per construir serveis de proxy HTTP de manera segura i eficient. Des del seu llançament, Pingora ha estat àmpliament provat i utilitzat en sistemes d'alta càrrega, com un servidor intermediari utilitzat a la xarxa de lliurament de contingut de Cloudflare, processant més de 40 milions de sol·licituds per segon durant més d'un any.

Cloudflare esmenta que la seguretat és una prioritat fonamental del projecte, i per això s'ha triat el llenguatge Rust per reduir la probabilitat d'errors relacionats amb la memòria. A més, s'ha prestat atenció a l'eficiència, el rendiment i l'extensibilitat, i ha permès la integració de filtres i controladors de devolució de trucades per controlar diverses etapes del processament de sol·licituds, així com modificar, redirigir, bloquejar i registrar sol·licituds i respostes.

Pingora és una biblioteca i un conjunt d'eines, no pas un binari executable. En altres paraules, Pingora és el motor que impulsa un automòbil, no pas l'automòbil en si. Encara que Pingora està llest per a producció per a ús industrial, entenem que molta gent vol un servei web llest per utilitzar, amb bateries incloses i amb opcions de configuració sense codi o amb poc codi. Crear aquesta aplicació sobre Pingora serà el focus de la nostra col·laboració amb ISRG per ampliar l'abast de Pingora. Estiguin atents a futurs anuncis sobre aquest projecte.

Entre els beneficis clau de Pingora, Es destaquen els següents:

  1. Seguretat de la memòria: Pingora ofereix una alternativa més segura per a la memòria en comparació amb serveis escrits a C/C++. Això es tradueix en una menor probabilitat d'errors de codificació que puguin comprometre la seguretat del sistema.
  2. rendiment optimitzat: Gràcies a la seva arquitectura multiprocés, Pingora és ràpid i eficient, estalviant recursos de CPU i memòria. Això és especialment beneficiós per a càrregues de treball sensibles al rendiment i al cost.
  3. personalització avançada: Les API proporcionades per Pingora són altament programables, cosa que permet una àmplia personalització per crear portes d'enllaç o equilibradors de càrrega personalitzats i avançats.

Pingora ofereix diverses característiques clau, com ara processament multiprocés de sol·licituds en mode asíncron, suport per a HTTP/1 i HTTP/2 (amb plans per a HTTP/3), proxy gRPC i WebSocket, balancejadors de càrrega connectables, canvi de configuració sense reiniciar, actualització de codi sense interrompre connexions, estratègies de commutació de càrrega en cas de fallada (failover), integració amb sistemes de monitorització i registre (com Syslog, Prometheus, Sentry, OpenTelemetry), i suport per a xifrat TLS mitjançant les biblioteques OpenSSL i BoringSSL C.

Característiques destacades de Pingora

  • Suport per a proxy HTTP/1 i HTTP/2, gRPC i websocket.
  • Estratègies de commutació per error i equilibri de càrrega personalitzables.
  • Integració amb biblioteques OpenSSL i BoringSSL per a compliment i seguretat.
  • Filtres i devolucions de trucades per a personalització i processament de sol·licituds.
  • Reinicis elegants sense temps d'inactivitat per a actualitzacions sense interrupcions.
  • Integració amb eines d'observabilitat com ara Syslog, Prometheus, Sentry, OpenTelemetry, entre d'altres.

Finalment, Cloudflare esmenta que està col·laborant amb el projecte Prossimo de l'Internet Security Research Group (ISRG) per avançar en l'adopció de Pingora a la infraestructura crítica d'Internet, contribuint així a una Internet més segura i fiable per a tothom.

si estàs interessat a conèixer més sobre això, has de saber que el codi està escrit a Rust i publicat sota la llicència Apache 2.0, a més pots consultar la publicació de Cloudflare en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.