Cloudflare ka kaluar nga NGINX në proxy-në e tij Pingora, e shkruar në gjuhën Rust.

Kompania Cloudflare njoftoi se ka kaluar nĂ« pĂ«rdorimin e proxy-t Pingora, i shkruar nĂ« gjuhĂ«n Rust, pĂ«r rrjetin e saj tĂ« shpĂ«rndarjes sĂ« pĂ«rmbajtjes. Proxy i ri zĂ«vendĂ«soi konfigurimin bazuar nĂ« serverin NGINX me skriptet Lua dhe pĂ«rpunon mĂ« shumĂ« se njĂ« trilion kĂ«rkesa nĂ« ditĂ«. ËshtĂ« vĂ«nĂ« nĂ« dukje se kalimi nĂ« njĂ« proxy tĂ« specializuar jo vetĂ«m qĂ« mundĂ«soi realizimin e mundĂ«sive tĂ« reja dhe rritjen e sigurisĂ« pĂ«rmes punĂ«s mĂ« tĂ« sigurt me memorjen, por solli gjithashtu njĂ« rritje tĂ« konsiderueshme tĂ« performancĂ«s dhe kursim tĂ« burimeve - zgjidhja bazuar nĂ« Pingora nuk kĂ«rkon pĂ«rdorimin e Lua, prandaj konsumon 70% mĂ« pak burime CPU dhe 67% mĂ« pak memorie gjatĂ« pĂ«rpunimit tĂ« tĂ« njĂ«jtit volum trafiku.

Për një kohë të gjatë sistemi për proxy-imin e trafikut midis përdoruesve dhe të fundit serverë bazuar në NGINX dhe skriptet Lua përmbushnin nevojat e Cloudflare, por me rritjen e rrjetit dhe rritjen e kompleksitetit të tij, zgjidhja universale u tregua e pamjaftueshme, si në aspektin e performancës, ashtu edhe për shkak të kufizimeve në zgjerueshmëri dhe implementimin e mundësive të reja për klientët. Në veçanti, u shfaqën vështirësi në shtimin e funksionaliteteve që kalonin përtej një gateway-i të thjeshtë dhe ndarësit të ngarkesës. Për shembull, u shfaq nevoja që në rast të dështimit në përpunimin e kërkesës server të ridrejtohet kërkesa në një server tjetër, duke i dhënë një grup tjetër HTTP-header-esh.

Në vend të arkitekturës me ndarjen e kërkesave në procese të veçanta për përpunim (worker), Pingora përdor një model me shumë tela, i cili në skenarët e përdorimit të Cloudflare (koncentrim i lartë i trafikut nga faqet e ndryshme me një devijim statistikisht të madh) tregoi shpërndarjen më efektive të burimeve midis bërthamave të CPU. Në veçanti, lidhja e kërkesave të pamjaftueshme me proceset në nginx çonte në një ngarkesë të paekuilibruar mbi bërthamat e CPU, si rezultat i të cilës kërkesat që konsumonin shumë burime dhe hyrja/ dalja e bllokuar ngadalësonin përpunimin e kërkesave të tjera. Për më tepër, lidhja e grupit të lidhjeve me proceset e përpunimit nuk lejonte ri-përdorimin e lidhjeve tashmë të vendosura nga proceset e tjera të përpunimit, gjë që reduktonte efikasitetin e punës me numër të madh procesesh përpunimi.

NGINX:

Cloudflare ka kaluar nga NGINX në proxy-në e tij Pingora, e shkruar në gjuhën Rust.

Pingora:

Cloudflare ka kaluar nga NGINX në proxy-në e tij Pingora, e shkruar në gjuhën Rust.

Zhvillimi i Pingora lehtësoi 160 herë numrin e operacioneve për instalimin e lidhjeve të reja dhe rriti përqindjen e kërkesave të ripërdorura nga 87.1% në 99.92%. Përveç reduktimit të lidhjeve të përsëritura dhe përdorimit më efikas të bërthamave të CPU, rritjes së performancës së proksit të ri iu nda kryesisht eliminimit të trajtuesve të ngadalshëm që përdoren me nginx në gjuhën Lua.

Gjuha Rust u zgjodh si e përshtatshme për të arritur performancë të lartë me kombinimin e mjeteve për të siguruar punën e sigurt me kujtesën. Përmendet se, pavarësisht kualifikimit të lartë të inxhinierëve të Cloudflare dhe rishikimit të kodit në gjuhën C, nuk arriti të shmangohej gabimet që shkaktojnë probleme me kujtesën (p.sh., një vlefshmëri në parserin HTML). Sa i përket kodit të ri, u diskutua për raste të analitikës së dështimeve në Pingora, të cilat rezultuan nga një gabim në bërthamën Linux dhe dështime harduerike.

Gjithashtu mund të përmendet komentari i Linus Torvalds që u bë gjatë konferencës Open-Source Summit Europe që po zhvillohet këto ditë, në lidhje me përfshirjen e mbështetjes për gjuhën Rust në bërthamën Linux. Në bërthamën 6.0, patch-et për zhvillimin e drejtuesve të pajisjeve në gjuhën Rust nuk u përfshinë, por sipas Linus, ato ndoshta do të pranohen në bërthamën 6.1, pasi ai nuk ka ndërmend të vonohet me integrimin. Si motiv për shtimin e mbështetjes për Rust, përveç ndikimit pozitiv në siguri, Linus përmend gjithashtu mundësinë për të rritur interesin e të rinjve pjesëmarrës që punojnë në bërthamë, çka është e rëndësishme në kushte të moshës së punonjësve të vjetër.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster