Цлоудфларе је прешао са НГИНКС-а на сопствени Пингора проки написан у Русту

Цлоудфларе је најавио да мигрира своју мрежу за испоруку садржаја да користи Пингора проки, написан на Русту. Нови прокси је заменио конфигурацију засновану на НГИНКС серверу са Луа скриптама и обрађује преко трилиона захтева дневно. Напомиње се да је прелазак на специјализовани прокси омогућио не само имплементацију нових функција и повећање сигурности због безбедног рада са меморијом, већ је довео и до значајног повећања перформанси и уштеде ресурса - решење засновано на Пингори не захтева употребу Луа, стога троши 70% мање ресурса ЦПУ-а и 67% мање меморије док обрађује исту количину саобраћаја.

Дуго времена је систем за прокси саобраћај између корисника и крајњих сервера заснован на НГИНКС и Луа скриптама задовољавао потребе Цлоудфларе-а, али како је мрежа расла и њена сложеност расла, универзално решење није било довољно, како у погледу перформанси, тако и у погледу перформанси. и због ограничења у проширивости и имплементацији нових могућности за клијенте. Конкретно, било је потешкоћа у додавању функционалности осим једноставног мрежног пролаза и балансера оптерећења. На пример, у случају да сервер не успе да обради захтев, постало је неопходно да се захтев преусмери на други сервер, снабдевајући га другачијим скупом ХТТП заглавља.

Уместо архитектуре са поделом захтева на одвојене радне процесе (раднике), Пингора користи модел са више нити, који је у сценаријима коришћења Цлоудфларе-а (висока концентрација саобраћаја са различитих сајтова са великим статистичким помаком) показао ефикаснију дистрибуцију ресурса између ЦПУ језгра. Конкретно, везивање неуравнотежених захтева за процесе у нгинк-у довело је до неуравнотеженог оптерећења језгара ЦПУ-а, услед чега су захтеви са интензивним ресурсима и блокирање И/О-а успоравали обраду других захтева. Поред тога, везивање спремишта веза за процесе руковаоца није дозволило поновно коришћење већ успостављених веза из других процеса руковаоца, што смањује ефикасност када постоји велики број процеса руковаоца.

нгинк:

Цлоудфларе је прешао са НГИНКС-а на сопствени Пингора проки написан у Русту

Пингора:

Цлоудфларе је прешао са НГИНКС-а на сопствени Пингора проки написан у Русту

Увођење Пингоре омогућило је смањење броја нових операција успостављања везе за 160 пута и повећање удела поново коришћених захтева са 87.1% на 99.92%. Поред смањења поновног повезивања и ефикаснијег коришћења ЦПУ језгара, перформансе новог проксија су углавном последица ослобађања од спорих Луа руковалаца који се користе са нгинк-ом.

Руст језик је изабран као омогућавајући високе перформансе у комбинацији са доступношћу алата који су сигурни у меморију. Помиње се да упркос високој квалификацији Цлоудфларе инжењера и прегледима кода написаних на језику Ц, није било могуће избећи грешке које доводе до проблема са меморијом (на пример, рањивост у ХТМЛ парсеру). Што се тиче новог кода, разговарали смо о случајевима анализе кварова у Пингори, за које се показало да нису узроковани проблемима у апликацији, већ грешком у језгру Линука и кваровима на хардверу.

Поред тога, може се приметити да је Линус Торвалдс прокоментарисао укључивање подршке за Руст језик у језгро Линука, изречено на конференцији Опен-Соурце Суммит Еуропе која се одржава ових дана. 6.0 кернел није укључивао закрпе за развој драјвера уређаја на Руст језику, али према Линусу, они ће вероватно бити прихваћени у 6.1 кернел, он неће повући са интеграцијом. Као мотив за додавање подршке Русту, поред позитивног утицаја на безбедност, Линус назива и могућност повећања интересовања за рад на језгру нових учесника, што је важно у контексту остарелих олдтајмера.

Извор: опеннет.ру

Додај коментар