Cloudflare julkaisi Pingoran lähdekoodin, Rustissa kirjoitetun kehyksen verkkopalvelujen luomiseksi

Pingora

Pingora banneri

Muutama päivä sitten Cloudflare paljastettiin, blogikirjoituksen kautta, sen päätös julkaista "Pingora"-kehyksensä lähdekoodi, erityisesti suunniteltu kehittää turvallisia ja tehokkaita verkkopalveluita, sekä ohjelmoitavia verkkojärjestelmiä Rust-kielellä.

Tämä kehys tarjoaa valmiita Rust-paketteja, jotka helpottavat HTTP-välityspalvelimen luomista, työskentely verkkoprotokollien parissa, HTTP-otsikoiden jäsentäminen, liikenteen laskenta ja rajoittaminen, kuormituksen tasapainottaminen, Ketaman hajautetun hash-taulukon hallinta, välimuistin ylläpito RAM:ssa ja aikakatkaisujen asynkroninen käsittely. HTTP-tuen lisäksi Pingora mahdollistaa palveluiden luomisen omilla protokollillaan tai UDP/TCP:llä.

Mikä on Pingora?

Pingora on asynkroninen monisäikeinen Rust-kehys, joka on suunniteltu rakentamaan HTTP-välityspalvelinpalveluita turvallisesti ja tehokkaasti.. Julkaisustaan ​​lähtien Pingoraa on testattu laajasti ja käytetty korkean kuormituksen järjestelmissä Cloudflaren sisällönjakeluverkossa käytettynä välityspalvelimena, joka käsittelee yli 40 miljoonaa pyyntöä sekunnissa yli vuoden ajan.

Cloudflare mainitsee, että tietoturva on projektin keskeinen prioriteetti, minkä vuoksi Rust-kieli on valittu vähentämään muistiin liittyvien virheiden todennäköisyyttä. Lisäksi on kiinnitetty huomiota tehokkuuteen, suorituskykyyn ja laajennettavyyteen, mikä mahdollistaa suodattimien ja takaisinsoittokäsittelijöiden integroinnin pyyntöjen käsittelyn eri vaiheiden ohjaamiseen sekä pyyntöjen ja vastausten muokkaamiseen, uudelleenohjaamiseen, estämiseen ja lokiin.

Pingora on kirjasto ja työkalusarja, ei suoritettava binaari. Toisin sanoen Pingora on moottori, joka käyttää autoa, ei itse auto. Vaikka Pingora on tuotantovalmis teolliseen käyttöön, ymmärrämme, että monet ihmiset haluavat avaimet käteen -verkkopalvelun, jossa on mukana akut ja ilman koodia tai matalakoodia. Tämän sovelluksen rakentaminen Pingoran päälle on yhteistyömme ISRG:n kanssa painopisteenä Pingoran kattavuuden laajentamiseksi. Pysy kuulolla projektin tulevista ilmoituksista.

Välillä Pingoran tärkeimmät edut, seuraavat erottuvat:

  1. Muistin turvallisuus: Pingora tarjoaa muistia turvallisemman vaihtoehdon verrattuna C/C++-kielellä kirjoitettuihin palveluihin. Tämä johtaa pienempään todennäköisyyteen koodausvirheille, jotka voivat vaarantaa järjestelmän turvallisuuden.
  2. Optimoitu suorituskyky: Monisäikeisen arkkitehtuurinsa ansiosta Pingora on nopea ja tehokas, mikä säästää suorittimen ja muistin resursseja. Tämä on erityisen hyödyllistä suorituskyky- ja kustannusherkissä työkuormissa.
  3. Edistynyt räätälöinti: Pingoran tarjoamat API:t ovat erittäin ohjelmoitavia, mikä mahdollistaa laajan mukauttamisen mukautettuja ja edistyneitä yhdyskäytäviä tai kuormituksen tasapainottajia varten.

Pingora tarjoaa useita tärkeitä ominaisuuksia, kuten monisäikeisen pyyntöjen käsittelyn asynkronisessa tilassa, HTTP/1- ja HTTP/2-tuki (HTTP/3-suunnitelmilla), gRPC- ja WebSocket-välityspalvelin, kytkettävät kuormantasaajat, kokoonpanon muutos ilman uudelleenkäynnistystä, koodipäivitys ilman yhteyksien katkeamista, kuormanvaihtostrategiat epäonnistumisen varalta (virheensiirto), integrointi seuranta- ja lokijärjestelmiin (kuten Syslog, Prometheus, Sentry, OpenTelemetry) ja tuki TLS-salaukselle OpenSSL- ja BoringSSL C -kirjastojen kautta.

Pingoran korostetut ominaisuudet

  • Tuki HTTP/1- ja HTTP/2-välityspalvelimelle, gRPC:lle ja websocketille.
  • Muokattavat kuormituksen tasapainotus- ja vikasietostrategiat.
  • Integrointi OpenSSL- ja BoringSSL-kirjastojen kanssa yhteensopivuuden ja turvallisuuden takaamiseksi.
  • Suodattimet ja takaisinsoittoja räätälöintiä ja pyyntöjen käsittelyä varten.
  • Suloiset uudelleenkäynnistykset ilman seisokkeja saumattomia päivityksiä varten.
  • Integrointi havainnointityökaluihin, kuten Syslog, Prometheus, Sentry, OpenTelemetry jne.

Lopuksi Cloudflare mainitsee, että se tekee yhteistyötä Internet Security Research Groupin (ISRG) Prossimo-projektin kanssa edistääkseen Pingoran käyttöönottoa kriittisissä Internet-infrastruktuureissa, mikä edistää turvallisemman ja luotettavamman Internetin luomista kaikille.

Jos olet kiinnostunut tietämään asiasta lisää, sinun pitäisi tietää, että koodi on kirjoitettu kielellä Rust and julkaistu Apache 2.0 -lisenssillä voit myös tutustua Cloudflare-julkaisuun Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.