Cloudflare ya canza daga NGINX zuwa nasa wakili na Pingora, wanda aka rubuta cikin Rust

Cloudflare ya sanar da canjin hanyar sadarwar sa ta isar da abun ciki don amfani da wakili na Pingora, wanda aka rubuta cikin yaren Rust. Sabon wakili yana maye gurbin tsarin tushen uwar garken NGINX tare da rubutun Lua, kuma yana aiwatar da buƙatun fiye da tiriliyan a kowace rana. An lura cewa canzawa zuwa wakili na musamman da aka ba da izini ba kawai don aiwatar da sababbin siffofi da haɓaka tsaro ba saboda aiki mai aminci na ƙwaƙwalwar ajiya, amma kuma ya haifar da karuwa mai yawa a cikin aiki da tanadin albarkatu - tushen tushen Pingora baya buƙatar amfani. na Lua, don haka yana cinye 70% ƙarancin albarkatun CPU da 67% ƙarancin ƙwaƙwalwar ajiya yayin sarrafa adadin zirga-zirga iri ɗaya.

Na dogon lokaci, tsarin da ke ba da izinin zirga-zirga tsakanin masu amfani da masu amfani da ƙarshen sabobin bisa ga rubutun NGINX da Lua sun gamsu da bukatun Cloudflare, amma yayin da hanyar sadarwar ta girma kuma ta karu, mafita na duniya ya zama kasa, duka dangane da aiki kuma saboda iyakancewa a cikin haɓakawa da aiwatar da sabbin dama ga abokan ciniki. Musamman ma, an sami ƙalubale wajen ƙara ayyuka fiye da ƙofa mai sauƙi da ma'aunin nauyi. Misali, ya zama dole, idan uwar garken ta kasa aiwatar da buƙatun, don sake aika buƙatun zuwa wata uwar garken, tare da samar da wani saƙo na daban na HTTP.

Maimakon tsarin gine-ginen da ke raba buƙatun zuwa tsarin ma'aikata daban-daban, Pingora yana amfani da nau'i mai nau'i mai nau'i mai yawa, wanda a cikin Cloudflare amfani da lokuta (babban taro na zirga-zirga daga shafuka daban-daban tare da babban canjin ƙididdiga) ya nuna ingantaccen rarraba albarkatun tsakanin CPU cores. Musamman ma, ɗaurin nginx na buƙatun marasa daidaituwa ga matakai ya haifar da nauyin da ba daidai ba a kan maƙallan CPU, wanda ya haifar da buƙatun kayan aiki da kuma toshe I/O yana rage sarrafa sauran buƙatun. Bugu da ƙari, ɗaure tafkin haɗin kai zuwa hanyoyin sarrafawa bai ba da damar sake amfani da haɗin da aka riga aka kafa daga sauran hanyoyin sarrafawa ba, wanda ke rage tasiri lokacin da akwai adadi mai yawa na tafiyar matakai.

NGINX:

Cloudflare ya canza daga NGINX zuwa nasa wakili na Pingora, wanda aka rubuta cikin Rust

Pingora:

Cloudflare ya canza daga NGINX zuwa nasa wakili na Pingora, wanda aka rubuta cikin Rust

Aiwatar da Pingora ya ba da damar rage adadin shigarwar sabbin hanyoyin haɗin gwiwa da sau 160 da haɓaka rabon tambayoyin da aka sake amfani da su daga 87.1% zuwa 99.92%. Baya ga rage sake haɗawa da ingantaccen amfani da muryoyin CPU, sabon ingantaccen aikin wakili ya samo asali ne saboda cire jinkirin masu sarrafa Lua da aka yi amfani da su tare da nginx.

An zaɓi harshen Rust don cimma babban aiki haɗe tare da samar da kayan aiki don tabbatar da aiki mai aminci tare da ƙwaƙwalwa. An ambaci cewa duk da ƙwararrun injiniyoyi na Cloudflare da kuma nazarin lambar da aka rubuta a cikin yaren C, ba zai yiwu a guje wa kurakurai da ke haifar da matsalolin ƙwaƙwalwar ajiya ba (misali, rauni a cikin HTML parser). Amma game da sabon lambar, yana magana ne game da lamuran nazarin gazawar a Pingora, wanda ba a haifar da shi ta hanyar matsaloli a cikin aikace-aikacen ba, amma ta hanyar kuskure a cikin kernel Linux da gazawar hardware.

Bugu da ƙari, za mu iya lura da sharhin Linus Torvalds, wanda aka bayyana a taron Buɗe-Source Summit Turai da ke gudana kwanakin nan, game da haɗa goyan bayan yaren Rust a cikin Linux kernel. Ba a haɗa faci don haɓaka direbobin na'urori a cikin yaren Rust ba a cikin kwaya ta 6.0, amma a cewar Linus, da alama za a karɓi su cikin kernel 6.1; ba zai jinkirta haɗin kai ba. A matsayin dalili don ƙara tallafi ga Rust, ban da tasiri mai kyau akan tsaro, Linus kuma ya ba da damar ƙara sha'awar yin aiki a kan ainihin sababbin mahalarta, wanda ke da mahimmanci a cikin yanayin tsofaffin tsofaffi.

source: budenet.ru

Add a comment