LINUX.ORG.RU

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

 ,

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

0

4

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, а также исправлены опечатки и внесены необходимые исправления в комментариях и документации проекта.

>>> Подробности

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от intelfx

А как Вы посчитали этим, что unsafe это в тексте а не заремлен ?

Короче, если бы Вы прочитали весь тред, пока здесь написали то не стали бы уже считать. Я объяснил на основании чего я сделал такие выводы.

И врут это когда это делают специально, я же просто ошибся, я то думал что я прав.

И заметь я никогда не перехожу на личности, даже если человек заблуждается.

mx__ ★★★★★
()
Ответ на: комментарий от mx__

А как Вы посчитали этим, что unsafe это в тексте а не заремлен ?

Искажения результата возможны только в твою пользу. А т. к. даже потенциально искажённый результат уже более чем красноречив (61 вхождение на 30 kLOC ­— это ни под каким соусом не тянет «почти весь код»), дальше я не стал считать.

Но на самом деле я не поленился и почитал код проекта предметно. Весь unsafe в коде проекта — это технические однострочники; либо FFI, либо тривиальный pin projection вокруг async. То есть тут вообще не о чем разговаривать, можно считать, что pingora целиком написана на safe Rust.

И врут это когда это делают специально, я же просто ошибся, я то думал что я прав.

И заметь я никогда не перехожу на личности, даже если человек заблуждается.

Одно дело заблуждаться, другое дело — воинственно заблуждаться :-)

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Одно дело заблуждаться, другое дело — воинственно заблуждаться :-)

Какое пропихивание, такое и заблуждение :-)

u5er
()
Ответ на: комментарий от mx__

И врут это когда это делают специально, я же просто ошибся, я то думал что я прав.

Никогда, слышите, никогда не извиняйтесь перед адептом Rust’а! Ему от извинений еретика не холодно и не жарко, а все нормальные люди себя чувствуют оплеванными, прочитав такое…

BydymTydym
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.