На 5 април 2024 г. Cloudflare представи първото публично издание на проекта с отворен код Pingora v0.1.0 (вече v0.1.1). Това е асинхронна многонишкова рамка в Rust, която помага за създаването на HTTP прокси услуги. Проектът се използва за създаване на услуги, които осигуряват значителна част от трафика към Cloudflare (вместо да използват Nginx). Изходният код на Pingora е публикуван в GitHub под лиценз Apache 2.0.
Pingora предоставя библиотеки и API за създаване на услуги през HTTP/1 и HTTP/2, TLS или просто TCP/UDP. Като прокси, той поддържа прокси от край до край на HTTP/1 и HTTP/2, gRPC и WebSocket. (HTTP/3 поддръжката е в плановете). Pingora също така включва адаптивни стратегии за балансиране на натоварването и отказ. За съответствие и сигурност, той поддържа както широко използваните библиотеки OpenSSL, така и BoringSSL, които са съвместими с FIPS (Федерални стандарти за обработка на информация на САЩ) и пост-квантово криптиране.
В допълнение към тези функции Pingora предоставя филтри и обратни извиквания, които позволяват на потребителите да персонализират напълно как услугата трябва да обработва, трансформира и препраща заявки.
В производствен режим Pingora осигурява плавен рестарт без прекъсване, за да се актуализира, без да губи входящи заявки. Syslog, Prometheus, Sentry, OpenTelemetry и други основни инструменти за наблюдение се интегрират безпроблемно с Pingora.
Характеристики на Pingora: използване на Async Rust, поддръжка за HTTP 1/2 end to end proxy, TLS през OpenSSL или BoringSSL, gRPC и websocket proxying, Грациозно презареждане, адаптивно балансиране на натоварването и стратегии за преодоляване при отказ, поддръжка за различни инструменти за наблюдение.
Разработчиците на проекта обясниха, че сигурността е основен приоритет на Pingora. Проектът също така работи бързо и ефективно, а API на прокси сървъра на Pingora могат лесно да се персонализират за различни задачи.
Pingora v0.1.1 поправя открити по-рано грешки, подобрява производителността на алгоритъма pingora-ketama, добавя повече TinyUFO бенчмаркове и тестове за изчистване на кеша на pingora, ограничава размера на буфера за регистрационни файлове за грешки InvalidHTTPHeader, а също така поправя правописни грешки и прави необходимите корекции в коментарите и проект за документация.
bbabo.Net