Cloudflare аз NGINX ба прокси Pingora-и худ, ки дар Rust навишта шудааст, гузашт

Cloudflare гузариши шабакаи интиқоли мундариҷаи худро барои истифодаи прокси Pingora, ки бо забони Rust навишта шудааст, эълон кард. Прокси нав конфигуратсияи сервери NGINX-ро бо скриптҳои Lua иваз мекунад ва дар як рӯз беш аз як триллион дархостро коркард мекунад. Қайд карда мешавад, ки гузариш ба прокси махсусгардонидашуда на танҳо имкон дод, ки хусусиятҳои нав ва баланд бардоштани амният аз ҳисоби амалиёти бехатари хотира, балки боиси афзоиши назарраси кор ва сарфаи захираҳо гардид - ҳалли асоси Pingora истифодаи талаб намекунад. аз Lua мебошад ва аз ин рӯ ҳангоми коркарди ҳамон миқдори трафик 70% захираҳои CPU ва 67% хотираи камтар истеъмол мекунад.

Дар тӯли муддати тӯлонӣ, системаи прокси-сервери трафики байни корбарон ва серверҳои ниҳоӣ дар асоси скриптҳои NGINX ва Lua эҳтиёҷоти Cloudflare-ро қонеъ мекард, аммо бо афзоиши шабака ва афзоиши мураккабии он, ҳалли универсалӣ ҳам аз ҷиҳати нокифоя баромад. иҷроиш ва бо сабаби маҳдудият дар васеъшавӣ ва татбиқи имкониятҳои нав барои мизоҷон. Махсусан, дар илова кардани функсияҳо берун аз як дарвозаи оддӣ ва тавозуни сарборӣ мушкилот вуҷуд доштанд. Масалан, зарур шуд, ки агар сервер дархостро коркард накунад, дархостро ба сервери дигар фиристад ва онро бо маҷмӯи гуногуни сарлавҳаҳои HTTP таъмин кунад.

Ба ҷои меъморие, ки дархостҳоро ба равандҳои алоҳидаи коргарӣ ҷудо мекунад, Pingora модели бисёр риштаро истифода мебарад, ки дар ҳолатҳои истифодаи Cloudflare (консентратсияи баланди трафик аз сайтҳои гуногун бо тағирёбии калони оморӣ) тақсимоти самараноки захираҳоро байни ядроҳои CPU нишон дод. Махсусан, nginx-и дархостҳои нобаробар ба равандҳо боиси сарбории номутаносиби ядроҳои CPU гардид, ки дар натиҷа дархостҳои захираҳои пуршиддат ва бастани воридот ва баромади коркарди дархостҳои дигарро суст мекунад. Илова бар ин, пайваст кардани ҳавзи пайвастшавӣ ба равандҳои коркардкунанда имкон намедиҳад, ки пайвастагиҳои аллакай муқарраршуда аз дигар равандҳои коркардкунанда истифода шаванд, ки ин ҳангоми мавҷудияти шумораи зиёди равандҳои коркард самаранокиро коҳиш медиҳад.

NGINX:

Cloudflare аз NGINX ба прокси Pingora-и худ, ки дар Rust навишта шудааст, гузашт

Пингора:

Cloudflare аз NGINX ба прокси Pingora-и худ, ки дар Rust навишта шудааст, гузашт

Татбиқи Pingora имкон дод, ки шумораи насби пайвастҳои нав 160 маротиба кам карда, ҳиссаи дархостҳои такрорӣ аз 87.1% то 99.92% зиёд карда шавад. Илова ба кам кардани пайвастҳои такрорӣ ва истифодаи самараноки ядроҳои CPU, беҳтар шудани кори прокси нав асосан аз хориҷ кардани коркардкунандагони сусти Lua, ки бо nginx истифода мешаванд, вобаста буд.

Забони Rust барои ноил шудан ба иҷрои баланд дар якҷоягӣ бо мавҷудияти асбобҳо барои таъмини амалиёти бехатар бо хотира интихоб шудааст. Гуфта мешавад, ки сарфи назар аз муҳандисони баландихтисоси Cloudflare ва баррасии рамзи бо забони Си навишташуда, пешгирӣ кардани хатогиҳое, ки боиси мушкилоти хотира мешаванд (масалан, осебпазирӣ дар таҳлилгари HTML). Дар мавриди рамзи нав, он дар бораи ҳолатҳои таҳлили нокомиҳо дар Pingora сухан меравад, ки маълум шуд, ки на аз мушкилот дар барнома, балки аз хатогӣ дар ядрои Linux ва нокомии сахтафзор ба вуҷуд омадааст.

Илова бар ин, мо метавонем тафсири Линус Торвалдсро, ки дар конфронси кушодаи Сарчашмаи Аврупо дар ин рӯзҳо дар бораи ворид кардани дастгирии забони Rust дар ядрои Linux садо дод, қайд кунем. Часбҳо барои таҳияи драйверҳои дастгоҳ бо забони Rust ба ядрои 6.0 дохил карда нашудаанд, аммо ба гуфтаи Linus, онҳо эҳтимолан ба ядрои 6.1 қабул карда мешаванд, ки вай интегратсияро таъхир намекунад; Ҳамчун ангеза барои илова кардани дастгирӣ ба Rust, илова бар таъсири мусбат ба амният, Линус инчунин имкони зиёд кардани таваҷҷӯҳ ба кор дар асоси иштирокчиёни навро, ки дар заминаи пиршавии одамони кӯҳна муҳим аст, ёдовар мешавад.

Манбаъ: opennet.ru

Илова Эзоҳ