Kā Asp.Net Core hostinga modeli izmanto tīmekļa lietojumprogrammās?

Asp.net kodols ir nozīmīgs mitināšanas modeļa uzlabojums. Iepriekšējās versijās bija paredzēts mitināt Asp.net Core tīmekļa lietojumprogrammas, izmantojot starpniekservera tīmekļa serverus, piemēram, IIS operētājsistēmā Windows, Apache vai NGINX. Tomēr jaunais Asp.net kodols 2.2 ļauj tieši mitināt Asp.net lietojumprogrammu Windows sistēmā IIS bez ārējā servera prasībām. Tādējādi tas palielina caurlaidspēju, izmantojot vienkāršu procesa procesa mitināšanas mehānismu.

Hostinga modeļi ASP.NET Core

ASP.NET ir Microsoft tehnoloģija, kas ļauj izveidot dinamiskas lapas tīmekļa servera pusē.

Asp.net mitināšana ir pilnībā integrēta ar programmatūru, kas balstīta uz Windows, kā arī ar pašu operētājsistēmu. Šī tehnoloģija tiek uzskatīta par diezgan drošu un uzticamu, kā arī ērti lietojamu. To galvenokārt izmanto lietotņu produktu izstrādei.

Hostinga modeļi ASP.NET Core ir divu veidu, t.i., hostings procesa laikā un ārpus procesa. Pirms ASP.Net Core 2.2 bija tikai viens mitināšanas modelis, kas ir ārpusprocesu mitināšana, taču veiktspējas dēļ Asp.net 2.2 versijas kodolprocesā tiek ieviests procesa uzturēšanas modelis.

Procesa procesa hostinga modeļa ieviešana Asp.net Core

Iepriekšējās ASP.NET Core versijas prasīja vienu mitināt lietojumprogrammā IIS, izmantojot ārpusprocesu mitināšanas modeli, kas tuvina caur IIS. Pieprasījumi, kas skar IIS vai IIS Express, tiek pārsūtīti uz tīmekļa lietojumprogrammu ASP.NET Core, kas darbojas Kestrel Web serverī. Tomēr ar jauno procesa procesa mitināšanu tiek izmantots tikai viens serveris, piemēram, IIS, Nginx vai Linux. Tas nozīmē, ka tā vietā, lai pārsūtītu pieprasījumus Kestrel, tieši IIS lietojumprogrammu pūlā tiek mitināta jauna Web servera ieviešana (IISHttpServer), kas kalpos pieprasījumam. Izmantojot ASP.NET Core 3.1, procesa mitināšanas modelis tiek izmantots kā noklusējuma modelis ikreiz, kad jūs izstrādājat jaunu lietojumprogrammu, izmantojot esošo veidni.

Acīmredzot šim mitināšanas modelim ir daudz liela caurlaides spēja un veiktspējas uzlabojums salīdzinājumā ar ārpus procesa procesu mitināšanas modeli.

Ārpus procesa mitināšanas modelis

Ārpusprocesu mitināšanas modeļos Kestrel serveri var izmantot tieši kā lietotāja pieprasījuma serveri, vai arī varat izvietot lietojumprogrammu IIS, kas darbosies kā starpniekserveris un sūta pieprasījumus uz iekšējo Kestrel serveri. Šāda veida mitināšanas modelī jums ir divas mitināšanas iespējas, t.i., Kestrel un starpniekservera lietošana:

1. Kestrel lietošana

Šajā gadījumā Kestrel pats darbojas kā malējais serveris, kas tieši pieprasa servera lietotāju pieprasījumus, kas nozīmē, ka Kestrel serveri var izmantot tikai lietojumprogrammai.

2. Starpniekservera izmantošana

Kestrel servera ierobežojumu dēļ to nevar izmantot visās lietojumprogrammās. Šādos gadījumos ir jāizmanto jaudīgi serveri, piemēram, IIS, Apache vai NGINX. Tātad šajā situācijā šis serveris darbojas kā rezerves  Starpniekserveris,   kas katru pieprasījumu novirza uz iekšējo Kestrel serveri, kurā darbojas programma. Šeit darbojas divi serveri, piemēram, IIS un Kestrel.

Šis mitināšanas modelis ir noklusējuma modelis visām lietojumprogrammām, kas ieviestas iepriekšējā .NET Core 2.2 versijā. Viens no šāda veida izmantošanas ierobežojumiem, piemēram, veiktspējas lēnums.

Noslēguma domas:

Runājot par faktiem, vairums ASP.Net tīmekļa attīstības uzņēmumu noteikti vēlas izmantot procesa procesa mitināšanas modeli. Tā kā tas patērē mazāk resursu un nodrošina labu sniegumu. Tā kā Kestrel nav nepieciešams papildu process, un tas arī ļauj izvairīties no papildu saziņas starp IIS un Kestrel. Tomēr ir gadījumi, kad var vēlēties izvēlēties hostingu ārpus procesa, piemēram, vienas un tās pašas tīmekļa lietojumprogrammas mitināšanas gadījumā Windows un Linux. Runājot par lietojumprogrammas mitināšanu citās platformās, Kestrel ir galvenais mehānisms, ko izmanto HTTP pieprasījumu apstrādei visās platformās.

Tomēr labākais process ir In-Process palaišana IIS, ja vien jums nav ļoti īpašas prasības attiecībā uz Kestrel.

Galvenā attēla kredīts: Farzad Nazifi fotoattēls vietnē Unsplash




Komentāri (0)

Atstājiet savu komentāru