بازِ شکاری مایکروسافت (Kestrel Web Server)

 kestrel

وب سرور Kestrel یک وب سرور جدید است که به عنوان جزئی از ASP.Net Core محسوب می شود. از اینرو این وب سرور به عنوان وب سرور ترجیحی در برنامه های جدید ASP.Net شناخته می شود.

چرا به Kestrel احتیاج داریم؟

اگر بوسیله ASP.Net اقدام به توسعه برنامه های مختلف کرده باشید مطمئناً با IIS (Internet Information Services) آشنایی دارید. این وب سرور از سال 1995 میلادی شروع بکار کرده و در طول این مدت پیشرفت قابل توجهی داشته است. IIS هر انتظاری که از یک وب سرور وجود دارد را برآورده می کند اما سریعترین وب سرور موجود نیست و در مقایسه با Node.js و Netty قدیمی و کُند بنظر می رسد.

مایکروسافت با استفاده از وب سرور Kestrel از این فرصت استفاده کرد تا بتواند از ابتدا یک وب سرور سریع و سبک، ایجاد کند. یکی از مزایای این وب سرور اصول طراحی آن برای بیشترین بهره وری از مفهوم Async  می باشد.

اما مهمترین هدف ایجاد Kestrel دستیابی به هدف اجرای ASP.Net بر روی سیستم عامل های مختلف است. اکنون وظیفه میزبانی برنامه های تهیه شده توسط تکنولوژی ASP.Net در Linux و Mac برعهده Kestrel بوده و دیگر وابستگی‏ ای به IIS وجود ندارد.

عملکرد فدای سرعت

در کسترل عملکرد فدای سرعت شده است. Kestrel در مقایسه با IIS دارای حداقل نیازها برای میزبانی برنامه های ASP.Net می باشد. جدول زیر مقایسه ای بین ویژگی های IIS و Kestrel ارائه می کند.

 Kestrel

 IIS

 Attribute

Windows/Linux/Mac Windows Platform Support
Yes Yes Static Files
No Yes HTTP Access Logs
No Yes  Port Sharing / Multiple apps
No Yes SSL Certificates
No Yes Windows Authentication
No Yes Management Console
No Yes Process Activation
No Yes Application Initialization
No Yes Configuration API
No Yes Request Filtering & Limits
No Yes IP & Domain Restrictions
No Yes HTTP Redirect Rules
Middleware Yes WebSocket Protocol
No Yes Response Output Caching
Optional Optional Compression

No

 Yes

FTP Server

 

همانطور که در جدول مشخص است Kestrel بسیاری از ویژگی های IIS را ندارد. اما مایکروسافت برای بهرهمندی از ویژگی های موجود در IIS و سایر وب سرورها، پیشنهاد می کند که Kestrel به همراه سایر وب سرورها بکار گرفته شود. یعنی Kestrel به همراه یک Reverse proxy server استفاده شود و ابتدا درخواست های Http توسط این Reverse proxy server از اینترنت گرفته شده و سپس با انجام پردازش های مورد نیاز به Kestrel ارسال شود. به این ترتیب می توان محدودیت های موجود در Kestrel را توسط سایر وب سرورها مدیریت کرد. شکل زیر نشان دهنده این موضوع است.

kestrelToInternetعرضه ASP.Net Core نشان داد که مایکروسافت اهمیت وجود یک تکنولوژی مستقل از هر زیرساخت و سیستم عاملی را بخوبی درک کرده است. گذشت زمان مشخص خواهد کرد چه میزان در این زمینه موفق عمل کرده است.

برای دریافت اطلاعات بیشتر در رابطه با پیاده سازی Kestrel در ASP.Net می توانید از آدرس Web server implementations in ASP.NET Core استفاده نمایید.


آخرین بروزرسانی
۲۳ بهمن ۱۴۰۲ 
تعداد کلیک
۴,۷۸۶

فهرست نظرها و ارسال نظر جدید

نام را وارد کنید
ایمیل را وارد کنید
تعداد کاراکتر باقیمانده: 1000
نظر خود را وارد کنید