Cloudflare yakachinja kubva kuNGINX kuenda kune yayo Pingora proxy yakanyorwa muRust

Cloudflare yakazivisa kuti iri kutamisa network yayo yekuendesa zvemukati kushandisa iyo Pingora proxy, yakanyorwa muRust. Iyo proxy nyowani yakatsiva iyo NGINX server-yakavakirwa kumisikidzwa neLua script, uye inobata pamusoro petiririyoni zvikumbiro pazuva. Zvinocherechedzwa kuti shanduko kune yakasarudzika proxy yakabvumidzwa kwete chete kuita maficha matsva uye kuwedzera chengetedzo nekuda kwebasa rakachengeteka nendangariro, asi zvakare yakakonzera kuwedzera kukuru kwekuita uye kuchengetedza zviwanikwa - mhinduro yakavakirwa paPingora haidi kushandiswa. yeLua, saka inoshandisa 70% zvishoma zviwanikwa CPU uye 67% zvishoma ndangariro uchibata huwandu hwakafanana hwetraffic.

Kwenguva yakareba, hurongwa hwekuita proxying traffic pakati pevashandisi nemaseva ekupedzisira zvichienderana neNGINX uye Lua zvinyorwa zvakagutsa zvido zve Cloudflare, asi sezvo network yakakura uye kuoma kwayo kwakawedzera, mhinduro yepasi rose yakanga isina kukwana, zvose maererano nekushanda, uye nekuda kwekugumira mukuwedzera uye kuita kwemikana mitsva yevatengi. Kunyanya, pakanga paine matambudziko mukuwedzera mashandiro kunze kwegedhi rakapfava uye mutoro wekuenzanisa. Semuenzaniso, kana sevha ikatadza kugadzirisa chikumbiro, zvakava zvakafanira kuendesa chikumbiro kune imwe sevha, ichichipa iyo yakasiyana seti yeHTTP misoro.

Panzvimbo pechivako chine kupatsanura zvikumbiro kuita zvakasiyana-siyana zvevashandi maitiro (vashandi), Pingora anoshandisa modhi ine tambo dzakawanda, iyo muCloudflare mashandisiro ekushandisa (yakanyanya kuwanda kwetraffic kubva kunzvimbo dzakasiyana nekuchinja kukuru kwenhamba) yakaratidza kugovera kwakanyanya kwezviwanikwa pakati. CPU cores. Kunyanya, kusunga zvikumbiro zvisina kuenzana kune maitiro munginx kwakatungamira kune isina kuenzana mutoro paCPU cores, semhedzisiro yezvikumbiro-zvakawanda zvikumbiro uye kuvharira I / O kunonotsa kugadziridzwa kwezvimwe zvikumbiro. Pamusoro pezvo, kusungira dziva rekubatanidza kune manejimendi maitiro hakuna kubvumidza kushandiswazve kweyakatosimbiswa yekubatanidza kubva kune mamwe maitiro emubati, izvo zvinoderedza kushanda zvakanaka kana paine huwandu hukuru hwemaitiro emubati.

nginx:

Cloudflare yakachinja kubva kuNGINX kuenda kune yayo Pingora proxy yakanyorwa muRust

Pingora:

Cloudflare yakachinja kubva kuNGINX kuenda kune yayo Pingora proxy yakanyorwa muRust

Kuiswa kwePingora kwakaita kuti zvikwanisike kuderedza nhamba yezvitsva zvekubatanidza kushandiswa kwekuita ne160 nguva uye kuwedzera chikamu chezvikumbiro zvakashandiswa zvakare kubva pa87.1% kusvika ku99.92%. Pamusoro pekudzikisira kubatanidza uye kunyanya kushandiswa kweCPU cores, kuita kweiyo proxy nyowani kunonyanya kukonzerwa nekubvisa vanononoka Lua vanobata vanoshandiswa nenginx.

Mutauro weRust wakasarudzwa seunobvumira kuita kwepamusoro kwakasanganiswa nekuwanikwa kwezvishandiso zvakachengeteka mundangariro. Zvinotaurwa kuti kunyangwe nepamusoro pekukodzera kweCloudflare mainjiniya uye ongororo yekodhi yakanyorwa mumutauro weC, zvanga zvisingaite kudzivirira zvikanganiso zvinotungamira kumatambudziko ekurangarira (semuenzaniso, kusagadzikana muHTML parser). Kana iri kodhi nyowani, takataura nezve nyaya dzekuongorora kuparara kwePingora, izvo zvakazoitika kuti hazvina kukonzerwa nezvinetso mukushandisa, asi nebug muLinux kernel uye kutadza kwehardware.

Pamusoro pezvo, zvinogona kucherechedzwa kuti Linus Torvalds akataura nezve kubatanidzwa kwerutsigiro rweRust mutauro muLinux kernel, yakataurwa pamusangano weOpen-Source Summit Europe uri kuitika mazuva ano. Iyo 6.0 kernel haina kusanganisira zvigamba zvekugadzira madhiraivha emidziyo mumutauro weRust, asi maererano naLinus, ivo vanogona kugamuchirwa mu6.1 kernel, haasi kuzodhonza nekubatanidzwa. Sechikonzero chekuwedzera kutsigirwa kweRust, kunze kwekuita zvakanaka pakuchengeteka, Linus anodanawo mukana wekuwedzera kufarira mukushanda panheyo yevatori vechikamu vatsva, iyo inokosha mumamiriro ekukwegura kwekare.

Source: opennet.ru

Voeg