The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Pingora 0.6, фреймворка для создания сетевых сервисов

18.08.2025 09:14

Компания Cloudflare опубликовала выпуск фреймворка Pingora 0.6, предназначенного для разработки защищённых высокопроизводительных сетевых сервисов на языке Rust. Построенный при помощи Pingora прокси уже более двух лет используется в сети доставки контента Cloudflare вместо nginx и обрабатывает более 40 млн запросов в секунду. Код написан на языке Rust и опубликован под лицензией Apache 2.0.

Основные возможности Pingora:

  • Поддержка HTTP/1 и HTTP/2 (в планах HTTP/3), а также возможность создания сервисов, использующих свои протоколы или UDP/TCP.
  • Поддержка многопоточной обработки запросов в асинхронном режиме.
  • Возможность прикрепления callback-обработчиков и фильтров, позволяющих управлять различными стадиями обработки запроса, а также изменять, перенаправлять, блокировать и журналировать запросы и ответы.
  • Проксирование gRPC и WebSocket.
  • Подключаемые балансировщики нагрузки.
  • Возможность изменения конфигурации без перезапуска.
  • Поддержка обновления кода приложения без разрыва соединений.
  • Средства для переключения нагрузки в случае сбоя (failover).
  • Интеграция с различными системами мониторинга и ведения логов (Syslog, Prometheus, Sentry, OpenTelemetry).
  • Поддержка TLS-шифрования (применяется OpenSSL, BoringSSL или Rustls).
  • Готовые Rust-пакеты для создания HTTP-прокси, работы с сетевыми протоколами, разбора заголовков HTTP, учёта и ограничения трафика, балансировки нагрузки, работы с распределённой хэш-таблицей Ketama, поддержания кэша в оперативной памяти и асинхронной обработки таймаутов.

Среди изменений в новой версии:

  • Во время завершения работы обеспечено сохранение в логе имён runtime-компонентов для упрощения диагностики проблем, вызванных отсутствием runtime-компонентов и приводящих к задержкам во время завершения работы.
  • Включено отслеживание фаз исполнения сервера, информация о которых может быть полезна для мониторинга или обеспечения отказоустойчивости. При смене фазы исполнения генерируется сообщение ExecutionPhase, которое можно перехватить через API Server::watch_execution_phase.
  • Разрешено размещение в памяти сжатых словарей.
  • В реализации http-сервера и http-прокси добавлены директивы HttpServerOptions и H2Options.
  • Реализована защита от атаки MadeYouReset, позволяющей вызвать отказ в обслуживании через манипуляцию управляющими кадрами HTTP/2.


  1. Главная ссылка к новости (https://github.com/cloudflare/...)
  2. OpenNews: Первый выпуск фреймворка для создания сетевых сервисов Pingora
  3. OpenNews: Компания Cloudflare открыла код Pingora, инструментария для создания сетевых сервисов
  4. OpenNews: Cloudflare перешёл с NGINX на собственный прокcи Pingora, написанный на языке Rust
  5. OpenNews: Уязвимость в реализациях протокола HTTP/2, упрощающая проведение DoS-атак
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63738-pingora
Ключевые слова: pingora
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, васян (?), 09:31, 18/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    я не понял, nginx-у приходит конец что-ли?
     
     
  • 2.2, Аноним (2), 09:57, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Во многих сценариях тупого бекпрокси лучше использовать haproxy - быстрее и надёжнее.
     
  • 2.6, Аноним (6), 10:32, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее даже - разнообразие. И тут у тебя есть 2 основных варианта:
    - Продолжать юзоть нжинкс или его форки. Они ещё долго существовать будут. Пользователи апачана до сих пор его юзают, хоть он уже в разы медленнее нжинкса, но апачану всё ещё не Копец(замок в Кракове).
    - Заблаговременно пробовать всё самое интересное. HAProxy(балансировка и healthchecks - намного лучше нжинкса), H2O - простой и быстрый отдающий статику, Caddy/libcaddy(не рекомендую, на гоповском GC может вогнать сервак в несколько сотен LA и потребовать ресета. Но зато в режиме совместимости понимает nginx.conf. Также этот прекрасный веб-сервер привёл одну контору к серьёзным убыткам, ибо на нём сделали основной продукт компании) и многое другое.

    То есть, зависит только от тебя и того чего тебе надо.

     
     
  • 3.7, Роман (??), 11:10, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Также этот прекрасный веб-сервер привёл одну контору к серьёзным убыткам, ибо на нём сделали основной продукт компании)

    тут интересно - накиньте деталей если не сложно или ссылкой поделитесь, спасибо!

     
     
  • 4.8, Аноним (8), 11:31, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет, неинтересно
     
  • 3.9, Аноним (9), 11:49, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Caddy/libcaddy(не рекомендую, на гоповском GC может вогнать сервак в несколько сотен LA и потребовать ресета

    Любитель поесть коричневого парящего ароматом продукта.  

    > апачана до сих пор его юзают, хоть он уже в разы медленнее нжинкса

    Чтобы ты знал, с появлением MPM Event там разницы на обработке статики совсем немного.
    Апач на нжинкс заменяют не чтобы быстрее, а чтобы предсказуемо работало под нагрузкой. Оно конечно и быстрее, но важна и корректность работы. Высиралку в сокет, реализующую 10% стандарта HTTP, написать может любой дурак. Будет очень быстро. Это как раз твои Н2О.

    Печально, что судя по предрассудкам ты уже укоренился в отрасли и воспроизводишь таких же.

     
  • 2.12, Карлос Сношайтилис (ok), 12:55, 18/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно нет. У них сильно разные ЦА.

    Nginx – это взял и работает. И для 99% юзеров производительности хватит за глаза и им не нужны всякие Quick, альтернативные TLS и прочие особенности.

    А pingora это фреймворк, который позволяет тонко настроить функциональную часть и оптимизировать производительность. Плюс требует знания Rust.

     

  • 1.4, Аноним (4), 10:27, 18/08/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру