Cloudflare со отворен код Pingora, комплет алатки за креирање мрежни услуги

Cloudflare го објави кодот со отворен код на рамката Pingora, дизајниран за развој на безбедни мрежни услуги со високи перформанси и програмабилни мрежни системи на јазикот Rust. Рамката е добро тестирана и веќе се користи во системи со големо оптоварување - прокси изграден на негова основа се користи во мрежата за испорака на содржина во Cloudflare наместо Nginx повеќе од една година и обработува повеќе од 40 милиони барања во секунда. Кодот е напишан во Rust и е објавен под лиценцата Apache 2.0.

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

Подготвени Rust пакети се обезбедени за креирање на HTTP-прокси, работа со мрежни протоколи, парсирање на HTTP заглавија, сметководство и ограничување на сообраќајот, балансирање на оптоварување, работа со дистрибуирана хеш-табела Ketama, одржување на кеш во RAM меморијата и асинхрона обработка на временските прекини. Покрај HTTP, поддржано е и создавање на услуги со помош на сопствени протоколи или UDP/TCP.

Обезбедувањето на безбедноста беше идентификувано како клучен приоритет за проектот. За да се намали веројатноста за грешки поврзани со меморијата, за развој беше избран јазикот Rust. Исто така, значително внимание беше посветено на ефикасноста, перформансите и проширливоста. На пример, при креирање прокси-серверисервери Балансерите и серверите базирани на Pingora овозможуваат поврзување на обработувачи и филтри за повратни повици што ви овозможуваат да управувате со различни фази од обработката на барањата, како и да менувате, пренасочувате, блокирате и евидентирате барања и одговори.

Заедно со Групата за истражување на интернет безбедноста (ISRG), која е основач на проектот Let's Encrypt и го промовира развојот на технологии за подобрување на интернет безбедноста, ќе биде креиран обратен прокси сервер наречен River, базиран на Pingora, дизајниран за употреба во критични елементи. мрежна инфраструктураКодот на River ќе биде напишан во Rust и лиценциран под лиценцата Apache 2.0. Развојот е закажан да започне во вториот квартал од 2024 година. Проектот моментално е во фаза на дизајнирање и архитектура. Проектот се развива под водство на Џејмс Манс од Rust Embedded Working Group.

Главната цел на проектот River е да имплементира прокси способен за пренесување на барањата на клиентите до задни сервери, препраќање дојдовни TLS конекции и рутирање, менување и филтрирање на барањата во согласност со наведените правила. Меѓу карактеристиките на River, се споменува и модел за обработка на барања со повеќе нишки, што овозможува поефикасна повторна употреба на конекцијата во споредба со прокси како што е nginx. За да се прошири функционалноста на прокси и да се создадат филтри, ќе биде можно да се поврзат модули составени во формат WebAssembly (за развој, можете да користите кои било програмски јазици за кои е поддржана компилацијата во WASM). Тие планираат да го направат конфигурацискиот формат што е можно поедноставен и познат.

Извор: opennet.ru

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster