کلاینت چیست و انواع آن را توضیح دهید ؟
کلاینت چیست ؟
کلاینت، به کامپیوتری میگویند که تقاضایی را از یک سرور دارد. کلاینت در لغت، به معنی مشتری است و مشتری کسی است که تقاضای خدماتی را از سوی فروشنده ای دارد.
عموماً اصطلاح کلاینت یا Client ، به کامپیوتری گفته می شود که درخواستی را از یک سرور دارد. یک سرور می تواند در آن واحد، به چندین کلاینت (یا بازدید کننده) سرویس ارائه دهد.
زمانی که تعداد کلاینت های یک سرور بالا می رود ، گفته میشود که سرور تحت فشار است. در این هنگام ، مقدار فضای حافظه ای که سرور ملزم به استفاده از آن میباشد ، بالا رفته و پردازنده سرور، تحت فشار کلاینت های متعدد دچار کاهش سرعت میشود در این هنگام سرعت وب سایت های تحت کنترل این سرور نیز کاسته می شود.
انواع کلاینت به سه دسته تقسیم می شود :
۱. Fat Client که به آن Thick Client یا Rich Client هم میگویند
۲. Thin Client یا کلاینت لاغر
۳. Hybrid Client یا کلاینت ترکیبی
Fat client
فت کلاینت ، معماری کلاینت و سرور کلاینت قوی برنامه ای است که (بر خلاف یک تین کلاینت) عملکرد کامل و استقلال از سرور مرکزی را فراهم می کند. غالباً سرور در این حالت فقط یک انبار داده است و تمام کارهای مربوط به پردازش و ارائه این داده ها به دستگاه کلاینت منتقل می شود.
یک Fat client از قابلیت های کامل برای کار با داده های سرور برخوردار است ، حالت چند کاربره را فراهم می کند ، امکان کار را حتی در صورت قطع شدن سرور فراهم می کند ، امکان اتصال به بانک های داده را بدون استفاده از اینترنت و سرعت بالایی دارد.
با این حال ، عملکرد گسترده ” Fat client” اغلب با سیاست امنیتی سیستم اطلاعات ناسازگار است و هزینه آن بیش از حد زیاد است.
هنگام کار با آن ، در دسترسی از راه دور به داده ها ، مشکل در بروزرسانی داده ها ، آشتی دادن آنها با سایر ارباب رجوع و عدم ارتباط با داده ها ، مشکلاتی وجود دارد.
به طور معمول ، ” Fat client” فرایند نصب و پیکربندی نسبتاً پیچیده ای دارد.
مزایای استفاده از Fat Client به طور خلاصه:
۱. منابع کمتری مصرف میکند
۲. میتوان به صورت آفلاین از آن استفاده کرد
۳. در چندرسانهای بازدهی بیشتری دارد
۴.بسیار انعطاف پذیر است
۵. زیرساختهای لازم برای آن وجود دارد
۶. ظرفیت سرور را بالا میبرد
۷. نیاز به منابع بیشتر اما تعداد سرور کمتر دارد
Thin Client
تین کلاینت یک رایانهای کوچک و آماده برای شبکههای رایانهای است که در عین استفاده از کمترین منابع سختافزاری، بالاترین کارایی و امنیت را برای شبکههای رایانهای به همراه میآورد.
تین کلاینت میتواند دارای سیستم عامل یا فاقد سیستم عامل باشد. به این معنی که میتواند یک سیستم عامل محلی داشته باشد یا اینکه برای بوت شدن کاملاً وابسته به سرور باشد. انواع سیستمعاملهای ویندوز مایکروسافت، توزیعهای لینوکس و یونیکس را میتوان بر روی تین کلاینتها نصب و اجرا نمود.
تین کلاینتها فاقد هر گونه قطعه مکانیکی مانند هارد دیسک و فن میباشند؛ لذا نگهداری آنها آسانتر است و به صرف وقت و هزینه کمتری نیاز دارد.
این دستگاهها نسبت به رایانههای شخصی حرارت کمتری تولید میکنند؛ لذا برای محیطهای صنعتی یا محیطهای گرم مناسب تر هستند. همچنین به دلیل کوچکی و حجم کم، فضای کمی اشغال میکند.
بهطور خلاصه ویژگیهای مهم تین کلاینت را میتوان بدین شرح خلاصه کرد:
۱. ابعاد کوچک و حجم کم
۲. مصرف انرژی کم
۳. امنیت بالا
۴. امکانات مناسب
سهولت ارتقا برای اضافه کردن ترمینالهای جدید به شبکه، فقط کافی است . از طریق نرمافزار مرکزی که روی سرور نصب شده نرمافزار کنترلی را روی Client جدید نصب کرد. در صورت خرابی نیز میتوان به راحتی ترمینال موردنظر را از شبکه خارج کرد. هم اکنون تین کلاینتها دارای قابلیتهای سختافزاری بهتری نسبت به گذشته هستند . تا آنجا که میتوان از آنها به عنوان یک دستگاه مستقل نیز استفاده کرد.
مزایای استفاده از Thin Client به طور خلاصه:
۱. قابل حمل یا Portable است.
۲. به کامپیوتر پیشرفته یا قوی نیاز ندارد
۳. سبک و بهینه است
۴. با سرور کار میکند و منابع سمت کلاینت را مشغول نمیکند
Hybrid Client
Hybrid Client ترکیبی از دو مدل Fat و Thin است. در این مدل شبیه به Fat Client پردازشها در محیط لوکال مدیریت شده و شبیه به Thin Client برای ذخیرهسازی دادهها مرتب با سرور در تعامل میباشد. در این روش میتوانیم مزایای هر دو کلاینت را کنار هم داشته باشیم. بازدهی بالا و پشتیبانی مناسب از چندرسانهای که نقاط قوت Fat Client هستند. در کنار انعطاف و مدیریت بالا که از مزایای Thin Client حساب میشوند.
یکی از کاربردهای Hybrid Client در انجام بازیهای رایانهای است. مثلا شرکت بازیسازی معروف Blizzard Entertainment بازی Diablo III را تحت این سرویس ارائه کرده است.
مهمترین وظایف سرویس گیرنده ها
1- سرویس گیرنده ها باتوجه به عملیاتی و منابعی که نیاز دارند سرویس های درخواستی خود را به سرور اعلام می کنند. در حقیقت وظیفه اصلی کلاینت ها این است که کارهای مورد نیاز خود را از کامپیوتر سرویس دهنده درخواست کنند. به زبانی ساده تر، کلاینت همان مشتری میباشد که از کامپیوتر سرویس دهنده، کار تقاضا میکند.
2- وظیفه دیگر کلاینت ها، ارسال و اشتراک گذاری اطلاعات در شبکه میباشد. بعنوان مثال در یک سرور چت، کلاینت ها اطلاعات خود را به سرویس دهنده می فرستند . سپس سرور، اطلاعات را به کلاینت ارسال میکند.
تفاوت server و Client
همانطور كه در بالا اشاره شد، مفهوم سرور و كلاينت در ابتدا با گستردگي كه در حال حاضر وجود دارد مطرح نبود و با ظهور شبكه در علم كامپيوتر اين عبارت نيز وارد دنياي كامپيوتر شد و روز به روز بر گستردگي و مفهوم آن افزوده گرديد . امروزه اين مفهوم را از جنبه هاي مختلفي مي توان بررسي و مقايسه نمود كه در اينجا سعي شده است به دو جنبه اساسي و كاربردي اشاره و تفاوت هاي بين سرور و كلاينت را بيان نمائيم.
تفاوت server و Client از نظر برنامه نویسی
سرور و كلاينت را از نظر برنامه نويسي مي توان به دو دسته زبان های سمت سرور (server side) و سمت کاربر(client side) تقسيم نمود، كه داراي تفاوت هايي مي باشند . در ذيل يه شرح اين تفاوت پرداخته شده است.
زمانی که ما میخواهیم یک صفحه وب را مشاهده کنیم، ابتدا در خواست ما به سرور میزبان آن سایت ارسال می شود. در این هنگام عملیات و برنامه هایی که برای تهیه محتوای مناسب لازم است انجام شود. مثلا ارتباط با پایگاه داده در سرور توسط زبان های سمت server انجام می شود.
PHP , ASP , JSP از جمله این زبان ها هستند. پس از اینکه این عملیات در سمت سرور سایت انجام شود . خروجی برنامه به صورت کدهای سمت کاربر، به کاربر فرستاده می شود. کدهایی مثل HTML , CSS , JavaScript . این کدها برنامه های سمت کاربر هستند.
تفاوت server و Client از نظر شبكه
تفاوت بین این دو شبکه بسیار واضح و بزرگ است . اگرچه تفاوت ها را از نظر فیزیکی نمی توانیم ببینیم اما می توانیم از نظر logically آنها را بدرستی از هم تشخیص دهیم.
Peer to Peer Network:
در این نوع شبکه هیچگونه centralized authority بین کامپیوتر های شبکه نمی توانیم ببینیم در واقع هیچ نوع مرکزیت بین آنها وجود ندارد. اگر یک کاربر بخواهد به منابع کامپیوتر دیگر دسترسی پیدا کند. سیستم امنیتی کامپیوتر مقصد (کامپیوتری که منابع درخواست شده را در خودش دارد) بررسی می کند. که آیا کامپیوتر درخواست دهنده اجازه دسترسی به منابع را دارد یا خیر. هر کامپیوتر در این نوع شبکه می تواند هم client باشد هم سرور.
هر کاربر می بایست local back up را خودش بگیرد. ملاحظات امنیتی بسیار بسیار اندک است و کامپیوتر های محدودی هم در بر می گیرد.
Client/Server Network:
بر خلاف شبکه peer to peer این نوع شبکه سیستم عاملی را استفاده می کند .که برای این کار تخصص یافته است تا اطلاعات شبکه را از یک منطقه مرکزی یا centralized point مدیریت کند که این منطقه مرکزی همان سرور است .
client ها از سرور تقاضای اطلاعات می کنند و سرور است. که با دادن اطلاعات یا دسترسی به منابع به آنها پاسخ می دهد. شبکه های client/server نسبت به peer to peer مزایای مشخصی دارند .در یک کلام شبکه ای بسیار بسیار سازماندهی تر شده می باشند . بسیار آسان تر خواهد بود که فایل ها و منابع را پیدا کنیم ، چون آنها بر روی سرور ذخیره شده اند و از امنیت بسیار بالایی برخوردارند. همه username و passwords ها در یک database یکسان که همان سرور است ذخیره می شوند.
کاربران نمی توانند از سرور بعنوان workstation استفاده کنند . بنابراین در نهایت واضح است که شبکه client /server کارایی بسیار بهتری دارد.
دیدگاهتان را بنویسید