Pingora

palvelinohjelmisto

Pingora on Cloudflaren kehittämä välityspalvelin, jota yhtiö käyttää Internetin dataliikenteen käsittelyyn. Yhtiö kehitti Pingoran korvaamaan Nginx-palvelinohjelman saadakseen paremman suorituskyvyn.[1] Pingorasta kerrottiin julkisesti syyskuussa 2022 ja se julkaistiin avoimena lähdekoodina vuonna 2024.[2]

Pingora on kirjoitettu Rust-kielellä ja se on toteutettu sovelluskehyksenä, jonka avulla voi toteuttaa oman palvelimen. Pingora ei ole "avaimet käteen" -tyyppinen valmiiksi suoritettava sovellusohjelma.[3] Pingoran avulla tehdään esimerkiksi kuormituksen tasaamista ja liikenteen suodattamista. Pingora sisältää kirjastot protokollien käsittelyyn (HTTP/1, HTTP/2, TLS ja pelkkä TCP/UDP sekä gRPC) ja se tukee OpenSSL- ja BoringSSL-kirjastoja. Pingora sisältää yhteyspoolin käsittelyn, TLS-kättelyn, pyyntöjen parseroinnin, sekä useita muita tehtäviä.[3]

Cloudflaren mukaan Pingora käyttää tuotantokäytössä samalla kuormitustasolla 70% vähemmän suoritinaikaa ja 67% vähemmän muistitilaa kuin aikaisempi ratkaisu. Rustilla kirjoitettu ohjelmakoodi toimii tehokkaammin kuin aikaisempi Lualla tehty ohjelmakoodi. Monisäikeistys toimii tehokkaammin tietojen suoran jakamisen avulla käyttämällä käyttämällä viitelaskentaa. Etenkin yhteyspoolin käsittelyyn on kiinnitetty erityistä huomiota.[1]

Pingoran lähdekoodi on lisensoitu Apache License, Version 2.0 -lisenssillä. Pääpaino kehityksessä on Linuxille. Suurin osa ohjelmakoodista kääntyy myös muissa Unix-ympäristöissä, mutta ei sisällä kaikkia ominaisuuksia.[4] 12. maaliskuuta 2024 Pingoran (Cloudflare Server) markkinaosuus oli 21,7 prosenttia. Nginx ja Apache ovat sitä suositumpia.[5]

Lähteet muokkaa

  1. a b Yuchen Wu & Andrew Hauck: How we built Pingora, the proxy that connects Cloudflare to the Internet blog.cloudflare.com. 14.9.2022. Viitattu 28.9.2022. (englanniksi)
  2. Sourav Rudra: Nginx Challenger? Cloudflare's Pingora Rust Framework Goes Open-Source news.itsfoss.com. 29.2.2024. Viitattu 13.3.2024. (englanniksi)
  3. a b Yuchen Wu & Edward Wang & Andrew Hauck: Open sourcing Pingora: our Rust framework for building programmable network services blog.cloudflare.com. Viitattu 13.3.2024. (englanniksi)
  4. cloudflare / pingora github.com. Viitattu 13.3.2024. (englanniksi)
  5. Usage statistics and market shares of web servers w3techs.com. Viitattu 13.3.2024. (englanniksi)

Aiheesta muualla muokkaa