Cloudflare випустила перший публічний реліз Pingora v0.1.0

Cloudflare випустила перший публічний реліз Pingora v0.1.0

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 over OpenSSL або BoringSSL, gRPC і проксування веб-сокетів, Graceful reload, стратегії балансування навантаження та аварійного перемикання, що налаштовуються, підтримка різних інструментів моніторингу.

У версії Pingora v0.1.1 виправлено раніше виявлені помилки, покращено продуктивність алгоритму pingora-ketama, додано більше бенчмарків TinyUFO та тестів для pingora-cache purge, обмежено розмір буфера для журналів помилок InvalidHTTPHeader, а також виправлено помилки та внесено необхідні виправлення. проекту.

Джерело: linux.org.ru

Додати коментар або відгук