Cloudflare, Rust dilində təhlükəsiz, yüksək performanslı şəbəkə xidmətləri və proqramlaşdırıla bilən şəbəkə sistemlərinin inkişafı üçün nəzərdə tutulmuş Pingora çərçivəsinin açıq mənbə kodunu elan etdi. Çərçivə yaxşı sınaqdan keçirilib və artıq yüksək yüklü sistemlərdə istifadə olunur - onun əsasında qurulmuş proksi Nginx əvəzinə Cloudflare məzmun çatdırılması şəbəkəsində bir ildən çoxdur istifadə olunur və saniyədə 40 milyondan çox sorğu emal edir. Kod Rust dilində yazılmış və Apache 2.0 lisenziyası altında nəşr edilmişdir.
Pingora asinxron rejimdə çox yivli sorğunun emalı üçün istifadə oluna bilər, HTTP/1 və HTTP/2 (planlarda HTTP/3), gRPC və WebSocket proksi, qoşula bilən yük balanslaşdırıcıları, yenidən başlamadan konfiqurasiyanın dəyişdirilməsi, əlaqələri kəsmədən kodun yenilənməsi, nasazlıq (failover) halında kommutasiya strategiyasının yükünün müəyyən edilməsi, müxtəlif monitorinq və qeyd sistemləri ilə inteqrasiya (Syslog, Prometheus, Sentry, OpenTelemetry). Pingora TLS şifrələməsini də dəstəkləyir, lakin o, OpenSSL və BoringSSL C kitabxanalarına əlavə olaraq həyata keçirilir.
Hazır Rust paketləri HTTP proksi yaratmaq, şəbəkə protokolları ilə işləmək, HTTP başlıqlarını təhlil etmək, trafikin uçotu və məhdudlaşdırılması, yük balansı, Ketama paylanmış hash cədvəli ilə işləmək, RAM-da keşin saxlanması və fasilələrin asinxron emalı üçün təqdim olunur. HTTP ilə yanaşı, öz protokollarından və ya UDP/TCP-dən istifadə edərək xidmətlərin yaradılması dəstəklənir.
Təhlükəsizliyin təmin edilməsi layihə üçün əsas prioritet kimi müəyyən edilmişdir. Yaddaşla əlaqəli səhvlərin ehtimalını azaltmaq üçün Rust dili inkişaf üçün seçilmişdir. Səmərəliliyə, performansa və genişlənməyə də əhəmiyyətli diqqət yetirilmişdir. Məsələn, proksilər yaradılarkənserverlər Pingora əsaslı yük balanslaşdırıcıları və serverləri, sorğu emalının müxtəlif mərhələlərini idarə etməyə, eləcə də sorğu və cavabları dəyişdirməyə, yönləndirməyə, bloklamağa və qeyd etməyə imkan verən geri çağırış emaledicilərini və filtrləri əlavə etmək imkanı təmin edir.
"Let's Encrypt" layihəsinin təsisçisi olan və internet təhlükəsizliyini artırmaq üçün texnologiyaların inkişafını təşviq edən İnternet Təhlükəsizliyi Tədqiqat Qrupu (ISRG) ilə birlikdə, Pingora əsasında vacib elementlərdə istifadə üçün nəzərdə tutulmuş River adlı tərs proxy yaradılacaq. şəbəkə infrastrukturuRiver kodu Rust dilində yazılacaq və Apache 2.0 lisenziyası altında lisenziyalaşdırılacaq. İnkişafın 2024-cü ilin ikinci rübündə başlanması planlaşdırılır. Layihə hazırda dizayn və memarlıq mərhələsindədir. Layihə Rust Embedded İşçi Qrupunun üzvü Ceyms Mannsın rəhbərliyi altında hazırlanır.
River layihəsinin əsas məqsədi müştəri sorğularını backend serverlərinə ötürmək, daxil olan TLS bağlantılarını yönləndirmək və müəyyən edilmiş qaydalara uyğun olaraq sorğuları yönləndirmək, dəyişdirmək və süzgəcdən keçirə bilən proksi tətbiq etməkdir. River-in xüsusiyyətləri arasında, nginx kimi proksilərlə müqayisədə daha səmərəli əlaqənin təkrar istifadəsinə imkan verən çox yivli sorğu emalı modeli qeyd olunur. Proksinin funksionallığını genişləndirmək və filtrlər yaratmaq üçün WebAssembly formatında tərtib edilmiş modulları birləşdirmək mümkün olacaq (inkişaf üçün WASM-də kompilyasiyanın dəstəkləndiyi istənilən proqramlaşdırma dillərindən istifadə edə bilərsiniz). Onlar konfiqurasiya formatını mümkün qədər sadə və tanış etməyi planlaşdırırlar.
Mənbə: opennet.ru
