The OpenNET Project / Index page

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

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

02.11.2024 22:06

Компания Cloudflare опубликовала выпуск фреймворка Pingora 0.4, предназначенного для разработки защищённых высокопроизводительных сетевых сервисов на языке 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, поддержания кэша в оперативной памяти и асинхронной обработки таймаутов.

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

  • Начальная поддержка криптографической библиотеки Rustls, использующей криптопровайдеров на базе библиотек aws-lc-rs и ring, основанных на BoringSSL.
  • Экспериментальная поддержка платформы Windows.
  • Режим фиктивного TLS (dummy TLS), который можно применять в ситуациях, когда невозможно использовать реальную реализацию TLS.
  • Добавлена поддержка модуля gRPC-web для трансляции запросов клиентов gRPC-web в запросы к серверу gRPC.
  • Предоставлена возможность обработки соединений H2C (HTTP/2 поверх голого TCP, без шифрования) и HTTP/1 на одном сетевом порту.
  • Добавлена возможность подключения собственных реализаций функции connect() для изменения поведения при установке сетевого соединения, например, для выставления дополнительных опций для сокета или симуляции ошибок при тестировании.
  • Предоставлена возможность игнорирования информационных ответов при проксировании, таких как ответы с заголовком "Expect: 100-continue".
  • Добавлена поддержка распаковки ответов, сжатых методом gzip.
  • Реализован учёт состояния бэкенда в целях мониторинга.
  • Добавлена возможность привязки к диапазону локальных портов.


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


Обсуждение (7) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 22:46, 02/11/2024 [ответить]  
  • +/
    Статистика за октябрь 2024:
    https://www.netcraft.com/blog/october-2024-web-server-survey/
     
  • 1.3, cat666 (ok), 22:52, 02/11/2024 [ответить]  
  • –3 +/
    Используется вместо nginx написано на Rust.... Испанский стыд какой-то!
     
     
  • 2.4, Аноним (-), 23:05, 02/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.5, Аноним (5), 23:21, 02/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.7, Аноним (7), 23:46, 02/11/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что делать, если проще было написать с нуля на Расте, чем чинить проблемы в архитектуре Nginx?
     

  • 1.6, нах. (?), 23:24, 02/11/2024 [ответить]  
  • +/
    Так где тот чувак которого они назначили налабать на этом "фреймворке" - целиком сервер? Он еще "консептуяльный дизигн" удалился продумать. До сих пор не возвращался?!

     
  • 1.8, Аноним (-), 00:17, 03/11/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

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



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

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