
Баннер Пингоры
Несколько дней назад Представлен Cloudflare, через сообщение в блоге, свое решение опубликовать исходный код своего фреймворка «Pingora», специально разработан для разрабатывать безопасные и высокопроизводительные сетевые сервисы, а также программируемые сетевые системы на языке Rust.
Эта структура предоставляет готовые пакеты Rust, упрощающие создание HTTP-прокси, работа с сетевыми протоколами, парсинг HTTP-заголовков, учет и ограничение трафика, балансировка нагрузки, управление распределенной хеш-таблицей Ketama, поддержание кэша в оперативной памяти и асинхронная обработка таймаутов. Помимо поддержки HTTP, Pingora позволяет создавать сервисы, используя собственные протоколы или UDP/TCP.
Что такое Пингора?
Pingora — это асинхронная многопоточная среда Rust, предназначенная для безопасного и эффективного создания HTTP-прокси-сервисов.. С момента своего выпуска Pingora тщательно тестировалась и использовалась в системах с высокой нагрузкой в качестве прокси-сервера, используемого в сети доставки контента Cloudflare, обрабатывая более 40 миллионов запросов в секунду в течение более года.
Cloudflare отмечает, что безопасность является ключевым приоритетом проекта, поэтому язык Rust был выбран для снижения вероятности ошибок, связанных с памятью. Кроме того, внимание было обращено на эффективность, производительность и расширяемость, что позволяет интегрировать фильтры и обработчики обратных вызовов для управления различными этапами обработки запросов, а также для изменения, перенаправления, блокировки и регистрации запросов и ответов.
Pingora — это библиотека и набор инструментов, а не исполняемый двоичный файл. Другими словами, Пингора — это двигатель, приводящий в движение автомобиль, а не сам автомобиль. Хотя Pingora готова к промышленному использованию, мы понимаем, что многим людям нужен веб-сервис «под ключ», с включенными батареями и вариантами конфигурации без кода или с низким кодом. Создание этого приложения на основе Pingora будет в центре внимания нашего сотрудничества с ISRG для расширения охвата Pingora. Следите за будущими объявлениями об этом проекте.
Среди Ключевые преимущества Пингорывыделяются следующие:
- Безопасность памяти: Pingora предлагает более безопасную для памяти альтернативу по сравнению со службами, написанными на C/C++. Это приводит к снижению вероятности ошибок кодирования, которые могут поставить под угрозу безопасность системы.
- Оптимизированная производительность: благодаря своей многопоточной архитектуре Pingora работает быстро и эффективно, экономя ресурсы процессора и памяти. Это особенно полезно для рабочих нагрузок, чувствительных к производительности и стоимости.
- Расширенная настройка: API-интерфейсы, предоставляемые Pingora, легко программируются, что позволяет проводить широкие настройки для создания пользовательских и расширенных шлюзов или балансировщиков нагрузки.
Пингора предлагает несколько ключевых функций, таких как многопоточная обработка запросов в асинхронном режиме, поддержка HTTP/1 и HTTP/2 (с планами HTTP/3), gRPC и WebSocket proxy, подключаемые балансировщики нагрузки, изменение конфигурации без перезагрузки, обновление кода без разрыва соединения, стратегии переключения нагрузки в случае сбоя (failover), интеграция с системами мониторинга и регистрации (такими как Syslog, Prometheus, Sentry, OpenTelemetry) и поддержка шифрования TLS через библиотеки C OpenSSL и BoringSSL.
Выделенные особенности Пингоры
- Поддержка прокси-серверов HTTP/1 и HTTP/2, gRPC и веб-сокетов.
- Настраиваемые стратегии балансировки нагрузки и аварийного переключения.
- Интеграция с библиотеками OpenSSL и BoringSSL для обеспечения соответствия требованиям и безопасности.
- Фильтры и обратные вызовы для настройки и обработки запросов.
- Грациозная перезагрузка без простоев для бесперебойного обновления.
- Интеграция с такими инструментами наблюдения, как Syslog, Prometheus, Sentry, OpenTelemetry и другими.
Наконец, Cloudflare упоминает, что сотрудничает с проектом Prossimo Исследовательской группы по интернет-безопасности (ISRG) с целью содействия внедрению Pingora в критически важную интернет-инфраструктуру, тем самым способствуя созданию более безопасного и надежного Интернета для всех.
Если вы интересно узнать об этом больше, вы должны знать, что код написан на Rust и опубликованный под лицензией Apache 2.0 вы также можете ознакомиться с публикацией Cloudflare. По следующей ссылке.