Asp.Net Core Hosting Model Veb Tətbiqlərində necə istifadə olunur?

Asp.net nüvəsi hosting modeli üçün əhəmiyyətli bir inkişafa malikdir. Əvvəlki versiyalarda Asp.net Core veb tətbiqetmələrinin Windows, Apache və ya NGINX-də IIS kimi proxy veb serverləri vasitəsilə yerləşdiriləcəyi gözlənilirdi. Bununla birlikdə, yeni Asp.net əsas 2.2 xarici server tələbləri olmadan Asp.net tətbiqetməsini IIS daxilində birbaşa Windows-da yerləşdirməyə imkan verir. Beləliklə, sadə In-Process hosting mexanizmindən istifadə edərək ötürmə qabiliyyətini artırır.

ASP.NET Core-də Hosting Modelləri

ASP.NET, veb server tərəfində dinamik səhifələr yaratmağa imkan verən Microsoft-dan ibarət bir texnologiya.

Hosting ASP.NET, həm də Windows əsaslı proqram təminatı ilə, eləcə də əməliyyat sisteminin özü ilə birləşdirilmişdir. Bu texnologiya olduqca təhlükəsiz və etibarlı, həm də istifadəsi asan hesab olunur. Əsasən in-app məhsullarının inkişafı üçün istifadə olunur.

ASP.NET Core-da hosting modelləri iki növdür, yəni Prosesdə Hosting və Prosesdənkənar Hosting. ASP.Net Core 2.2-dən əvvəl yalnız bir hosting modeli mövcud idi, bu da prosesdənkənar hosting idi, lakin performansına görə Asp.net əsas 2.2 versiyasında In-Process Hosting Model təqdim edilmişdir.

Asp.net Core-da Prosesli Hosting Modelinin tətbiqi

Əvvəlki versiyalarda ASP.NET Core, IIS-də etibarlılığı təmin edən bir prosesdən kənar hosting modelindən istifadə edərək proqramı IIS-də keçirməsini tələb etdi. IIS və ya IIS Express-i vuran müraciətlər Kestrel Web Server daxilində işləyən ASP.NET Core veb tətbiqetməsinə göndərilir. Lakin, yeni In-process hosting ilə İIS, Nginx və ya Linux kimi hosting üçün yalnız bir server istifadə olunur. Bu o deməkdir ki, sorğuları Kestrel-ə yönəltmək əvəzinə, sorğuya xidmət edəcək yeni bir Web Server tətbiqi (IISHttpServer) birbaşa İIS Tətbiq hovuzunun içərisindədir. ASP.NET Core 3.1 ilə, mövcud bir şablondan istifadə edərək yeni bir tətbiq hazırladığınızda, prosesdəki hosting modeli standart bir model kimi istifadə olunur.

Göründüyü kimi, bu hosting modeli, Xaricdənkənar Hostinq modeli ilə müqayisədə çox yüksək ötürmə qabiliyyətinə və performans inkişafına malikdir.

Prosesdən kənar Hosting Model

Prosesdənkənar hosting modellərində ya Kestrel serverini birbaşa serverlə qarşılaşan bir istifadəçi tələbi kimi istifadə edə bilərsiniz və ya bir proxy server olaraq işləyən və daxili Kestrel serverinə sorğu göndərən IIS-də tətbiq edə bilərsiniz. Bu cür hosting modelində hosting üçün iki seçiminiz var, yəni Kestrel və Proxy Server-dən istifadə:

1. Kestrel istifadə

Bu halda, Kestrel özü birbaşa istifadəçi sorğusu verən kənar server kimi çıxış edir və bu da yalnız tətbiq üçün Kestrel serverindən istifadə edə biləcəyini bildirir.

2. Proxy Server istifadə

Kestrel serverində məhdudiyyətlər olduğundan, bütün tətbiqlərdə istifadə etmək olmur. Belə hallarda, IIS, Apache və ya NGINX kimi güclü serverlərdən istifadə etmək məcburiyyətində qalır. Beləliklə, bu vəziyyətdə bu server hər tələbi tətbiqin işlədiyi daxili Kestrel break-ə yönləndirəcək bir ehtiyat proxy server kimi fəaliyyət göstərir. Burada İIS və Kestrel kimi iki server işləyir.

Bu hosting model əvvəllər tətbiq olunan bütün tətbiqlər üçün standart bir modeldir .NET Core 2.2 versiyası. Bu tip istifadənin məhdudiyyətlərindən biri, məsələn performansın ləngliyi.

Son düşüncələr:

Faktlara görə, ASP.Net veb inkişaf şirkətlərinin əksəriyyəti əlbəttə ki, In-Process hosting modelindən istifadə etmək istəyir. Daha az resurs istehlak etdiyindən və yaxşı bir performans təmin etdiyindən. Kestrel üçün əlavə bir prosesə ehtiyac olmadığından və IIS və Kestrel arasında əlavə əlaqənin qarşısını alır. Bununla yanaşı, Windows və Linux-da eyni veb tətbiqetmənin hostinq vəziyyətində olduğu kimi prosesdənkənar hosting seçmək istədiyi hallar var. Tətbiqi digər platformalarda yerləşdirmək barədə danışarkən, Kestrel, bütün platformalarda HTTP sorğularını idarə etmək üçün istifadə olunan əsas mexanizmdir.

Bununla birlikdə, Kistrel üçün çox xüsusi bir tələbiniz olmasa, İIS-də İn-Pro-nu işlətmək ən yaxşı yoldur.

Əsas şəkil krediti: Unsplash-də Fərzad Nazifi-nin şəkli




Şərhlər (0)

Şərh yaz