Kuidas veebirakendustes kasutatakse Asp.Net Core'i hostimudeli?



Asp.net tuum on hostimismudelit märkimisväärselt täiustanud. Varasemates versioonides võis eeldada Asp.net Core veebirakenduste hostimist puhverserverite kaudu nagu IIS Windowsis, Apache või NGINX. Uus Asp.net-i tuum 2.2 võimaldab aga Asp.net-i rakendust Windowsi IIS-is otse hostida ilma välise serveri nõueteta. Seega suurendab see läbilaskevõimet, kasutades lihtsat protsessisisest hostimismehhanismi.

ASP.NET Core-i hostimismudelid

ASP.NET on Microsofti tehnoloogia, mis võimaldab teil luua veebiserveri poolel dünaamilisi lehti.

ASP.NET hostimine on täielikult integreeritud nii Windowsi põhineva tarkvara kui ka opsüsteemi endaga. Seda tehnoloogiat peetakse üsna ohutuks ja usaldusväärseks ning hõlpsasti kasutatavaks. Seda kasutatakse peamiselt rakendusesiseste toodete arendamiseks.

ASP.NET Core-i hostimudeleid on kahte tüüpi, st protsessisisene hostimine ja protsessiväline hostimine. Enne ASP.Net Core 2.2 oli ainult üks hostimismudel, mis on protsessiväline hostimine, kuid toimivuse tõttu tutvustatakse Asp.net 2.2 põhiversioonides protsessisisest hostimismudelit.

Protsessisisese hostimismudeli tutvustus Asp.net Core'is

Varasemates ASP.NET Core'i versioonides nõuti rakenduse majutamist IIS-is, kasutades protsessivälist hostimismudelit, mis puhverdab IIS-i. IIS-i või IIS Express-i tabanud päringud edastatakse Kestreli veebiserveris töötavale veebirakendusele ASP.NET Core. Uue protsessisisese hostimise korral kasutatakse hostimiseks näiteks IIS, Nginx või Linux ainult ühte serverit. See tähendab, et taotluste Kestrelile edastamise asemel hostitakse otse IIS-i rakenduste kogumis sees uus veebiserveri rakendus (IISHttpServer), mis teenindab seda päringut. ASP.NET Core 3.1-ga kasutatakse protsessisisest hostimismudelit vaikemudelina alati, kui töötate olemasoleva malli abil välja uue rakenduse.

Ilmselt on sellel hostimismudelil protsessivälise hostimismudeliga võrreldes palju suuremat läbilaskevõimet ja jõudlust.

Protsessiväline hostimismudel

Protsessivälistes hostimismudelites saate kasutada Kestreli serverit otse kasutajapäringuna asuva serverina või saate rakenduse juurutada IIS-i, mis toimib puhverserverina ja saadab taotlused Kestreli sisesele serverile. Sellises hostimismudelis on teil hostimiseks kaks võimalust, st Kestreli ja puhverserveri kasutamine:

1. Kestreli kasutamine

Selles toimib Kestrel ise servaserverina, mis otse serveri kasutajaid taotleb, mis tähendab, et Kestreli serverit saab rakenduse jaoks kasutada ainult.

2. Puhverserveri kasutamine

Kestreli serveri piirangute tõttu ei saa seda kõigis rakendustes kasutada. Sellistel juhtudel tuleb kasutada võimsaid servereid nagu IIS, Apache või NGINX. Niisiis, antud olukorras toimib see server puhverserverina, mis suunab iga päringu sisemise Kestreli serverisse, kus rakendus töötab. Siin töötab kaks serverit nagu IIS ja Kestrel.

See hostimismudel on kõigi varasemate .NET Core 2.2 versioonide rakenduste vaikemudel. Üks selle tüübi kasutamise piirangutest, näiteks jõudluse aeglus.

Lõplikud mõtted:

Faktide põhjal soovib enamik ASP.Net veebiarendust pakkuvaid ettevõtteid kasutada protsessisisest hostimismudelit. Kuna see tarbib vähem ressursse ja tagab hea jõudluse. Kuna see ei vaja Kestreli jaoks täiendavat protsessi, väldib see ka täiendavat suhtlust IIS-i ja Kestreli vahel. Kuid on ka juhtumeid, kus võib-olla soovite valida protsessivälise hostimise, näiteks sama veebirakenduse majutamiseks Windowsis ja Linuxis. Rakenduse hostimisest teistel platvormidel rääkides on Kestrel peamine mehhanism, mida kasutatakse HTTP-päringute käsitlemiseks kõigil platvormidel.

Protsessisisese protsessis käitamine IIS-is on aga parim viis, kui teil pole Kestreli suhtes väga konkreetseid nõudeid.

Põhipildi krediit: Farzad Nazifi foto saidil Unsplash




Kommentaarid (0)

Jäta kommentaar