کلاینت سرور چیست؟
کلاینت-سرور، یک معماری با چارچوب کاربردی توزیع شده است که وظایف را بین سرورها و کلاینتها (مشتریها) تقسیم میکند، که یا در یک سیستم قرار دارند یا از طریق یک شبکه کامپیوتری یا اینترنت ارتباط برقرار میکنند. کلاینت برای دسترسی به سرویسی که توسط یک سرور در دسترس است، به ارسال یک درخواست به برنامه دیگری متکی است. سرور با اجرای یک یا چند برنامه منابع را با کلاینتها به اشتراک میگذارد و کار را بین کلاینتها توزیع میکند. کلاینت-سرور با یک الگوی پیام درخواست-پاسخ ارتباط برقرار میکنند و باید یک پروتکل ارتباطی مشترک داشته باشند که به طور رسمی قوانین، زبان و الگوهای گفتگوی مورد استفاده را تعریف کند. ارتباط کلاینت-سرور معمولاً با مجموعه پروتکل TCP/IP است.
درخواستهای کلاینت در یک سیستم زمانبندی، سازماندهی و اولویتبندی میشوند که به سرورها کمک میکند تا بین درخواستهای کلاینتهای مختلف تمایز قائل شوند.
در یک شبکه کلاینت-سرور، کلاینتها از طریق یک شبکه محلی (LAN) یا یک شبکه گسترده (WAN) مانند اینترنت به منابع و خدمات از سرور دسترسی دارند. یک سرور فهرستی از نامهای کاربری و کلمات عبور را دارد و یک کلاینت فقط در صورتی میتواند به شبکه متصل شود که دارای یک نام کاربری و کلمه عبور معتبر باشد. بعد از این که یک کلاینت به سیستم وارد شد تنها به منابعی دسترسی دارد که مسئول شبکه اجازه داده باشد.
انواع مختلف معماری کلاینت-سرور
معماری One -Tier:
شامل یک برنامه ساده است که روی یک کامپیوتر بدون نیاز به دسترسی به شبکه اجرا میشود. درخواستهای کاربر از هیچ پروتکل شبکهای پیروی نمیکنند، بنابراین کد آن ساده است و شبکه از ترافیک اضافی خلاص میشود.
معماری Two-Tier:
در این نوع معماری کلاینت منابع را درخواست میکند و سرور مستقیماً با استفاده از منابع خود به درخواست پاسخ میدهد. این بدان معنی است که سرور برای ارائه بخشی از سرویس، با برنامه دیگری تماس نمیگیرد. معمولا فرآیندهای سرویسگیرنده را به طور جدا از فرآیندهای سرور، در رایانه دیگری اجرا میکند:
- فرآیندهای کلاینت یک رابط برای مشتری فراهم میکند و معمولاً دادهها را در رایانه مشتری جمعآوری و ارائه میکند. این بخش از برنامه، لایه ارائه است.
- فرآیندهای سرور یک رابط با ذخیره دادههای کسب و کار فراهم میکند. این قسمت از برنامه لایه داده است.
- منطق تجاری که دادهها را تأیید میکند، امنیت و مجوزها را نظارت میکند و سایر قوانین تجاری را اجرا میکند، میتواند روی کلاینت یا سرور قرار گیرد یا بین این دو تقسیم شود.
معماری Three-Tier:
دارای یک کلاینت، یعنی رایانهای که منابع را درخواست میکند، مجهز به یک رابط کاربری (معمولاً یک مرورگر وب) برای اهداف ارائه است و دارای سرور برنامه (که میانافزار نیز نامیده میشود) که وظیفه آن ارائه منابع درخواستی است، اما با فراخوانی سرور دیگری.
همچنین شامل سرور داده است، که دادههای مورد نیاز را در اختیار سرور برنامه قرار میدهد.
معماری N-Tier:
معماری N لایه در واقع معماریهای 3 لایهای است که لایه میانی به لایههای جدید تقسیم میشود. لایه برنامه به بخشهای جداگانه تقسیم میشود. اینکه این قطعات چه هستند از سیستمی به سیستم دیگر متفاوت است. تصویر بالا آن را نشان میدهد. مزیت اصلی معماریهای N-tier این است که تعادل بار را ممکن میکنند. از آنجایی که منطق برنامه بین چندین سرور توزیع میشود، پردازش میتواند به طور مساوی بین آن سرورها توزیع شود.
بیشتر بخوانید: peer to peer - شبکه نظیر به نظیر (p2p) چیست؟
نویسنده: محبوبه سردشتیان