Kaip „Asp.Net Core Hosting“ modelis naudojamas interneto programose?



Asp.net branduolys žymiai patobulino prieglobos modelį. Ankstesnėse versijose buvo tikimasi, kad Asp.net Core žiniatinklio programos bus talpinamos per tarpinius interneto serverius, tokius kaip IIS „Windows“, „Apache“ ar NGINX. Tačiau naujas Asp.net branduolys 2.2 leidžia tiesiogiai talpinti Asp.net programą Windows sistemoje IIS be išorinio serverio reikalavimų. Taigi, tai padidina pralaidumą naudojant paprastą proceso metu vykdomą prieglobos mechanizmą.

Prieglobos modeliai „ASP.NET Core“

ASP.NET yra „Microsoft“ technologija, leidžianti kurti dinaminius puslapius žiniatinklio serverio pusėje.

Priegloba ASP.NET yra visiškai integruota su „Windows“ pagrindu sukurta programine įranga, taip pat su pačia operacine sistema. Ši technologija laikoma gana saugia ir patikima, taip pat lengvai naudojama. Jis daugiausia naudojamas plėtojant produktus programoje.

„ASP.NET Core“ prieglobos modeliai yra dviejų tipų, ty priegloba proceso metu ir ne proceso priegloba. Prieš „ASP.Net Core 2.2“ buvo tik vienas prieglobos modelis, kuris yra „Out-of-process hostingas“, tačiau dėl našumo pristatomas „Inp Process Hosting“ modelis Asp.net 2.2 pagrindinėse versijose.

Proceso proceso metu įdiegto modelio įdiegimas „Asp.net Core“

Ankstesnėse „ASP.NET Core“ versijose reikėjo vienos talpinti programą IIS, naudojant išorinio proceso prieglobos modelį, kuris tarpininkauja per IIS. IIS arba IIS Express pasiekusios užklausos yra persiunčiamos į ASP.NET Core žiniatinklio programą, veikiančią „Kestrel“ tinklo serveryje. Tačiau naudojant naują proceso metu vykdomą prieglobą, prieglobai naudojamas tik vienas serveris, pavyzdžiui, IIS, Nginx ar Linux. Tai reiškia, kad užuot persiuntę užklausas „Kestrel“, tiesiogiai IIS programų baseine yra patalpintas naujas tinklo serverio įgyvendinimas (IISHttpServer), kuris aptarnaus užklausą. Naudojant ASP.NET Core 3.1, proceso prieglobos modelis naudojamas kaip numatytasis modelis, kai kuriate naują programą, naudodami esamą šabloną.

Akivaizdu, kad šio prieglobos modelio pralaidumas ir našumas yra žymiai geresni, palyginti su prieglobos be darbo procesu.

Neprocesinis prieglobos modelis

Vykdydami ne proceso procesą, „Kestrel“ serverį galite naudoti tiesiogiai kaip vartotojo užklausą nukreiptą serverį, arba galite įdiegti programą į IIS, kuri veiks kaip  Tarpinis serveris   ir siųs užklausas į vidinį „Kestrel“ serverį. Tokio tipo prieglobos modelyje turite dvi prieglobos galimybes, t. Y. „Kestrel“ ir tarpinio serverio naudojimą:

1. Kestrel naudojimas

Šiuo atveju „Kestrel“ veikia kaip kraštinis serveris, tiesiogiai reikalaujantis serverio vartotojo, o tai reiškia, kad „Kestrel“ serverį galima naudoti tik programai.

2. Tarpinio serverio naudojimas

Dėl „Kestrel“ serverio apribojimų to negalima naudoti visose programose. Tokiais atvejais reikia naudoti galingus serverius, tokius kaip IIS, Apache ar NGINX. Taigi, šioje situacijoje šis serveris veikia kaip rezervinis  Tarpinis serveris,   kuris kiekvieną užklausą peradresuoja į vidinį „Kestrel“ serverį, kuriame veikia programa. Čia veikia du serveriai, tokie kaip IIS ir „Kestrel“.

Šis prieglobos modelis yra numatytasis visų programų, įdiegtų ankstesnėje .NET Core 2.2 versijoje, modelis. Vienas iš šio tipo naudojimo apribojimų, pavyzdžiui, našumas.

Paskutinės mintys:

Kalbant apie faktus, dauguma ASP.Net internetinių svetainių kūrimo kompanijų tikrai nori naudoti proceso prieglobos modelį. Kadangi jis sunaudoja mažiau išteklių ir užtikrina gerą našumą. Kadangi „Kestrel“ nereikia papildomo proceso, be to, išvengiama papildomo ryšio tarp IIS ir „Kestrel“. Tačiau yra atvejų, kai gali tekti pasirinkti prieglobą be proceso, pavyzdžiui, jei priglobiate tą pačią interneto programą „Windows“ ir „Linux“. Kalbėdamas apie programos prieglobą kitose platformose, „Kestrel“ yra pagrindinis mechanizmas, naudojamas HTTP užklausoms tvarkyti visose platformose.

Tačiau geriausias būdas paleisti proceso procesą IIS, nebent turite „Kestrel“ reikalavimus.

Pagrindinis paveikslas: Farzad Nazifi nuotrauka „Unsplash“




Komentarai (0)

Palikite komentarą