Cloudflare пусна изходния код на Pingora, рамка, написана на Rust за създаване на мрежови услуги

Пингора

Банер Pingora

Преди няколко дни Cloudflare представен, чрез публикация в блог, решението си да пусне изходния код на своята рамка „Pingora“, специално проектиран за разработване на сигурни и високоефективни мрежови услуги, както и програмируеми мрежови системи на езика Rust.

Тази рамка предоставя готови Rust пакети, които улесняват създаването на HTTP прокси, работа с мрежови протоколи, анализиране на HTTP заглавки, отчитане и ограничаване на трафика, балансиране на натоварването, управление на разпределената хеш таблица на Ketama, поддържане на кеш в RAM и асинхронна обработка на изчаквания. В допълнение към поддръжката на HTTP, Pingora позволява създаването на услуги, използващи собствени протоколи или UDP/TCP.

Какво е Pingora?

Pingora е асинхронна многонишкова рамка на Rust, предназначена за безопасно и ефективно изграждане на HTTP прокси услуги.. От пускането си на пазара Pingora е широко тестван и използван на системи с високо натоварване, като прокси, използван в мрежата за доставка на съдържание на Cloudflare, обработвайки над 40 милиона заявки в секунда за повече от година.

Cloudflare споменава, че сигурността е ключов приоритет на проекта, поради което е избран езикът Rust, за да се намали вероятността от грешки, свързани с паметта. Освен това е обърнато внимание на ефективността, производителността и разширяемостта, което позволява интегрирането на филтри и манипулатори за обратно извикване за контролиране на различни етапи от обработката на заявката, както и модифициране, пренасочване, блокиране и регистриране на заявки и отговори.

Pingora е библиотека и набор от инструменти, а не изпълним двоичен файл. С други думи, Pingora е двигателят, който задвижва една кола, а не самата кола. Въпреки че Pingora е готова за производство за промишлена употреба, ние разбираме, че много хора искат уеб услуга до ключ, с включени батерии и с опции за конфигуриране без код или с нисък код. Изграждането на това приложение върху Pingora ще бъде фокусът на нашето сътрудничество с ISRG за разширяване на обхвата на Pingora. Очаквайте бъдещи съобщения за този проект.

Сред ключови предимства на Pingora, се открояват следните:

  1. Сигурност на паметта: Pingora предлага по-безопасна за паметта алтернатива в сравнение с услугите, написани на C/C++. Това води до по-малка вероятност от грешки в кодирането, които биха могли да компрометират сигурността на системата.
  2. Оптимизирана производителност: Благодарение на своята многопоточна архитектура, Pingora е бърза и ефективна, спестявайки ресурси на процесора и паметта. Това е особено полезно за работни натоварвания, чувствителни към производителността и разходите.
  3. Разширено персонализиране: Приложните програмни интерфейси (API), предоставени от Pingora, са силно програмируеми, което позволява широко персонализиране за създаване на персонализирани и усъвършенствани шлюзове или балансьори на натоварването.

Пингора предлага няколко ключови функции, като например многонишкова обработка на заявки в асинхронен режим, поддръжка за HTTP/1 и HTTP/2 (с планове за HTTP/3), gRPC и WebSocket прокси, сменяеми балансьори на натоварването, промяна на конфигурацията без рестартиране, актуализиране на код без прекъсване на връзките, стратегии за превключване на натоварването в случай на повреда (failover), интеграция със системи за наблюдение и регистриране (като Syslog, Prometheus, Sentry, OpenTelemetry) и поддръжка за TLS криптиране чрез библиотеките OpenSSL и BoringSSL C.

Подчертани характеристики на Pingora

  • Поддръжка за HTTP/1 и HTTP/2 прокси, gRPC и websocket.
  • Персонализируеми стратегии за балансиране на натоварването и отказ.
  • Интеграция с OpenSSL и BoringSSL библиотеки за съответствие и сигурност.
  • Филтри и обратни извиквания за персонализиране и обработка на заявки.
  • Грациозно рестартиране без прекъсване за безпроблемни актуализации.
  • Интегриране с инструменти за наблюдение като Syslog, Prometheus, Sentry, OpenTelemetry и др.

И накрая, Cloudflare споменава, че си сътрудничи с проекта Prossimo на групата за изследване на интернет сигурността (ISRG) за напредък в приемането на Pingora в критична интернет инфраструктура, като по този начин допринася за по-сигурен и надежден интернет за всички.

Ако сте заинтересовани да научите повече за това, трябва да знаете, че кодът е написан на Rust и публикувано под лиценз Apache 2.0, можете също да се консултирате с публикацията на Cloudflare В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.