Cloudflare выпустила Pingora v0.3.0 с поддержкой HTTP-модулей
12 июля 2024 года Cloudflare представила второй публичный релиз открытого проекта Pingora v0.3.0. Это асинхронный многопоточный фреймворк на Rust, который помогает создавать прокси-сервисы HTTP. Проект используется для создания сервисов, обеспечивающих значительную часть трафика в Cloudflare . Исходный код 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. Также проект работает быстро и эффективно, а API-интерфейсы прокси-сервера Pingora легко настраиваются под разные задачи.
В версии Pingora v0.3.0 исправлены ранее обнаруженные ошибки, появилась поддержка модулей HTTP, включая возможность импорта модулей, написанных третьими лицами.
Также в Pingora v0.3.0 добавлен вызов replace_body_filter, позволяющий проверять и изменять тело запроса, появилась поддержка H2c, TCP Fast Open, TCP keep-alive на стороне сервера, настройки DSCP, добавлена возможность установки уровня сжатия для каждого алгоритм.
Написать комментарий