مدل کلاینت-سرور: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
InternetArchiveBot (بحث | مشارکت‌ها)
نجات ۱ منبع و علامت‌زدن ۰ به‌عنوان مرده.) #IABot (v2.0
MatthewArdeston (بحث | مشارکت‌ها)
12 بخش از 14 بخش مقاله انگلیسی ترجمه نشده بود که در این ویرایش همگی اضافه شده اند. ویرایش های بعدی ویرایش های نگارشی خواهد بود.
برچسب‌ها: افزودن پیوند بیرونی به جای ویکی‌پیوند جمع عربی واژگان فارسی ویرایشگر دیداری
خط ۱:
{{بهبود منبع}}
[[پرونده:Client-server-model.svg|بندانگشتی|یک شبکه کامپیوتری از ارتباط بین سرویس دهنده و سرویس گیرنده]]
 
 
'''مدل کارخواه-کارساز'''<ref>{{یادکرد وب |نویسنده = '''کارخواه-کارساز''' عبارت مصوب فرهنگستان زبان و ادب فارسی به جای '''client-server''' در [[زبان انگلیسی|انگلیسی]] و در حوزهٔ [[رایانه]] است |نشانی = http://www.persianacademy.ir/fa/wordspdf.aspx |عنوان = فرهنگ واژه‌های مصوّب فرهنگستان: ۱۳۷۶ تا ۱۳۸۵، بخش سوم: به ترتیب الفبای لاتینی، صفحهٔ ۴۷ |ناشر = فرهنگستان زبان و ادب فارسی |تاریخ = |تاریخ بازدید = ۱۱ شهریور ۱۳۸۹ |archiveurl = https://web.archive.org/web/20090803145909/http://www.persianacademy.ir/fa/wordspdf.aspx |archivedate = ۳ اوت ۲۰۰۹ |dead-url = yes }}</ref> یا '''مدل کلاینت-سرور''' {{انگلیسی|client-server model}}، یک ساختار [[رایانش توزیع‌شده]] است که وظایف یا حجم کار را بین سرویس‌دهنده‌ها که [[کارساز]] یا سرور نامیده می‌شوند، و سرویس‌گیرنده‌ها که [[کارخواه]] نامیده می‌شوند،<ref>{{یادکرد وب|عنوان=Original PDF|نشانی=http://dx.doi.org/10.15438/rr.5.1.7|وبگاه=dx.doi.org|بازبینی=2021-03-29}}</ref> تقسیم می‌کند.<ref>{{یادکرد وب| نشانی = http://java.sun.com/developer/Books/jdbc/ch07.pdf| عنوان = Distributed Application Architecture| تاریخ بازدید = ۲۹ خرداد ۱۳۸۹| تاریخ =| ناشر = Sun Microsystem | زبان = انگلیسی}}</ref>
 
یک برنامه کاربردی ''کارخواه-کارساز'' (Client-Server) تحت [[شبکه رایانه‌ای]] برنامه‌ای است که یک [[کارخواه]] را که توسط یک [[رابط کاربری]] برنامه شناسایی می‌شود، به یک [[سرور (رایانه)|سرور]] یا سامانهٔ [[پایگاه داده]] متصل می‌کند. هنگامی که یک ''کارخواه'' مستقیماً به یک سیستم پایگاه داده، یا یک سرور یکپارچه متصل می‌گردد، معماری برنامه، [[معماری دولایه]]‌ای است.
سطر ۱۴ ⟵ ۱۶:
 
نوع دیگری از معماری شبکه‌ای به نام معماری [[همکار-به-همکار]] شناخته می‌شود، زیرا هر گره وظایف یکسانی دارد. هر دو نوع معماری‌های ''کارخواه-کارساز'' یا ''همکار-به-همکار'' به‌طور گسترده‌ای کاربر دارند، و هرکدام مزیت‌ها و معایب خاص خودشان را دارند.
 
= نقش سرویس دهنده- سرویس گیرنده =
مشخصه "سرویس گیرنده-سرویس دهنده" رابطه همکاری بین بخش های مختلف را در یک برنامه را توصیف می کند.مولفه ی سرویس دهنده سرور یک عملکرد یا سرویس را به یک یا تعداد زیادی مشتری ارائه می دهد ، که درخواست های چنین سرویس هایی را شروع می کنند. سرورها بر اساس خدماتی که ارائه می دهند طبقه بندی می شوند. به عنوان مثال ، یک [[سرور وب|وب سرور]]، [[صفحه وب|صفحات وب]] و یک [[سرویس‌دهنده فایل]] به [[پرونده (رایانه)|پرونده های رایانه ای]] سرویس می دهد. یک [[:en:Shared_resource|منبع مشترک]] ممکن است هر یک از نرم افزارها و اجزای الکترونیکی رایانه سرور باشد ، از برنامه ها و داده ها گرفته تا پردازنده ها و دستگاه های ذخیره سازی.
 
 
اینکه کامپیوتر یک کلاینت باشد ، یک سرور یا هر دو ، با توجه به ماهیت برنامه ای که به توابع سرویس نیاز دارد ، تعیین می شود. به عنوان مثال ، یک کامپیوتر می تواند همزمان وب سرور و نرم افزار سرور پرونده را اجرا کند تا داده های مختلف را به مشتریانی که درخواستهای مختلفی می کنند. نرم افزار سرویس گیرنده همچنین می تواند با نرم افزار سرور در همان رایانه ارتباط برقرار کند.<ref>{{یادکرد وب|نویسنده=X Window System|تاریخ=12 March 2021|وبگاه=https://en.wikipedia.org/wiki/X_Window_System|نشانی=https://en.wikipedia.org/wiki/X_Window_System|عنوان=X Window System}}</ref> ارتباط بین سرورها ، مانند همگام سازی داده ها ، گاهی اوقات [[:en:Inter-server|ارتباط بین سرور]] یا سرور به سرور نامیده می شود.
 
= ارتباط سرویس دهنده- سرویس گیرنده =
به طور کلی ، یک سرویس یک [[انتزاع (رایانه)|انتزاع]] از منابع رایانه ای است و لازم نیست مشتری در هنگام انجام درخواست و ارائه پاسخ ، به نحوه عملکرد سرور توجه کند. مشتری فقط باید پاسخ را براساس پروتکل معروف برنامه درک کند ، یعنی محتوا و قالب بندی داده ها برای سرویس درخواستی.
 
سرویس گیرنده ها و سرورها پیام های خود را با الگوی پیام [[درخواست-پاسخ|پاسخ درخواست]] پاسخ می دهند. سرویس گیرنده درخواستی را ارسال می کند و سرور پاسخی را برمی گرداند. این تبادل پیام مثالی از [[ارتباط بین پردازشی|ارتباط بین فرآیند]] است. برای برقراری ارتباط ، رایانه ها باید زبان مشترکی داشته باشند ، و آنها باید از قوانینی پیروی کنند تا کلاینت و سرور بدانند که چه انتظاری دارند. زبان و قوانین ارتباطی در یک پروتکل ارتباطی تعریف شده اند. همه پروتکل های سرویس دهنده-سرور در لایه برنامه کار می کنند. پروتکل لایه برنامه الگوهای اساسی را تعریف می کند برای رسمی کردن تبادل داده ها حتی بیشتر ، سرور ممکن است یک رابط برنامه نویسی برنامه [[واسط برنامه‌نویسی کاربردی|(API)]] را پیاده سازی کند. [[واسط برنامه‌نویسی کاربردی|API]] یک لایه انتزاعی برای دسترسی به یک سرویس است. با محدود کردن ارتباطات به یک قالب [[:en:Content_format|محتوای خاص]] ، تجزیه را تسهیل می کند با انتزاع دسترسی ، تبادل داده بین پلتفرمی را تسهیل می کند.
 
یک سرور ممکن است در مدت زمان کوتاهی از بسیاری از سرویس گیرنده های متقاضی درخواست دریافت کند. یک رایانه در هر لحظه فقط می تواند تعداد محدودی کار را انجام دهد و با تکیه بر یک سیستم زمان بندی ، درخواستهای ورودی از مشتریان را برای اولویت بندی آنها در اولویت قرار می دهد.
 
= مثالهای مرتبط =
هنگامی که مشتری بانکی با مرورگر وب (مشتری) به خدمات بانکی آنلاین دسترسی پیدا می کند ، مشتری درخواستی را از وب سرور بانک آغاز می کند. اعتبار ورود مشتری ممکن است در یک پایگاه داده ذخیره شود و وب سرور به عنوان مشتری به سرور پایگاه داده دسترسی پیدا کند یک سرور برنامه با استفاده از منطق تجاری بانک داده های برگشتی را تفسیر می کند و خروجی را به وب سرور ارائه می دهد و سرانجام سرور وب نتیجه را برای نمایش به مرورگر وب مشتری برمی گرداند.
 
در هر مرحله از این توالی تبادل پیام مشتری-سرور ، رایانه ای یک درخواست را پردازش می کند و داده را برمی گرداند. این الگوی پیام رسانی درخواست پاسخ است. وقتی همه درخواست ها برآورده می شوند ، توالی کامل می شود و مرورگر وب داده ها را به مشتری.
 
این مثال الگوی طراحی قابل استفاده برای مدل مشتری-سرور را نشان می دهد: تفکیک نگرانی ها.
 
= تاریخچه =
شکل اولیه معماری کلاینت سرور ورود شغل از راه دور است ، حداقل با OS / 360 (اعلام شده در سال 1964) ، جایی که درخواست اجرای یک شغل بود و پاسخ خروجی بود.
 
دانشمندان کامپیوتر در حال ساخت مدل مشتری - سرور در دهه 1960 و 1970 ، در ساخت ARPANET (در موسسه تحقیقاتی استنفورد) از اصطلاحات میزبان سرور (یا میزبان سرویس دهنده) و میزبان کاربر (یا با استفاده از میزبان) استفاده کردند و اینها ظاهر می شوند در اسناد اولیه <nowiki>RFC 5</nowiki> و <nowiki>RFC 4</nowiki>. این استفاده در زیراکس PARC در اواسط دهه 1970 ادامه داشت.
 
یکی از زمینه هایی که محققان از این اصطلاحات استفاده کردند ، در طراحی زبان برنامه نویسی شبکه رایانه ای به نام Decode-Encode Language (DEL) بود. هدف این زبان پذیرش دستورات از یک رایانه (میزبان کاربر) بود ، که گزارشات وضعیت را به عنوان رمزگذار کردن دستورات در بسته های شبکه به کاربر باز می گرداند. یک رایانه دیگر با قابلیت DEL ، میزبان سرور ، بسته ها را دریافت کرده ، رمزگشایی کرده و داده های قالب بندی شده را به میزبان کاربر باز می گرداند. یک برنامه DEL بر روی کاربر -host نتایج را برای ارائه به کاربر دریافت کرد. این یک معامله سرور مشتری است. توسعه DEL تازه در سال 1969 آغاز شد ، سالی که وزارت دفاع ایالات متحده ARPANET (سلف اینترنت) را تأسیس کرد.
 
=== سرور-پذیرنده ، میزبان پذیرنده ===
میزبان مشتری و میزبان سرور کاملاً متفاوت از کلاینت و سرور است. میزبان هر رایانه ای است که به یک شبکه متصل است. در حالی که کلمات سرور و کلاینت ممکن است به کامپیوتر یا به یک برنامه رایانه ای ، میزبان سرور و کاربر اشاره داشته باشند - میزبان همیشه به رایانه ها مراجعه می کند. میزبان یک رایانه چند منظوره و چند منظوره است ؛ کلاینت ها و سرورها فقط برنامه هایی هستند که روی میزبان اجرا می شوند. در مدل کلاینت سرور ، یک سرور بیشتر به وظیفه سرویس دهی اختصاص دارد.
 
استفاده اولیه از کلمه مشتری در "جداسازی داده ها از عملکرد در سیستم پرونده توزیع شده" ، مقاله 1978 توسط دانشمندان کامپیوتر Xerox PARC هوارد استورگیس ، جیمز میچل و جی اسرائیل وجود دارد. نویسندگان مراقب هستند که این اصطلاح را برای خوانندگان تعریف کنند ، و توضیح دهد که آنها از آن برای تشخیص بین کاربر و گره شبکه کاربر (سرویس گیرنده) استفاده می کنند. (تا سال 1992 ، کلمه سرور به زبان عمومی وارد شده بود.)
 
= پردازش متمرکز =
مدل سرویس گیرنده و سرور حکم نمی کند که میزبان سرور باید بیش از میزبان سرویس گیرنده داشته باشد ، بلکه هر رایانه عمومی را قادر می سازد تا با استفاده از منابع مشترک سایر میزبان ها ، توانایی های خود را گسترش دهد. با این حال ، محاسبات متمرکز به طور خاص مقدار زیادی از منابع برای تعداد کمی از رایانه ها. هرچه محاسبات بیشتر از میزبان های کلاینت به رایانه های مرکزی بارگیری شود ، میزبان های مشتری نیز می توانند ساده تر باشند. این بستگی زیادی به منابع شبکه (سرورها و زیرساخت ها) برای محاسبه و ذخیره سازی. گره بدون دیسک حتی سیستم عامل خود را از شبکه بارگیری می کند و یک ترمینال رایانه ای فاقد سیستم عامل است ؛ این فقط یک رابط ورودی / خروجی به سرور است. در مقابل ، یک سرویس گیرنده چربی ، مانند یک شخصی کامپیوتر ، منابع زیادی دارد و برای عملکردهای اساسی به یک سرور اعتماد نمی کند.
 
با کاهش قیمت رایانه ها و افزایش قدرت آنها از دهه 1980 به اواخر دهه 1990 ، بسیاری از سازمانها محاسبات را از سرورهای متمرکز مانند رایانه های اصلی و مینی کامپیوترها به مشتریهای چربی منتقل کردند. مدیریت پیچیده فناوری اطلاعات. در طول دهه 2000 ، برنامه های وب به اندازه کافی بالغ شدند تا بتوانند با نرم افزارهای کاربردی رقیب برای یک معماری معماری خاص رقابت کنند. عواملی که باعث ایجاد روند رایانش ابری در سالهای 2010 شد.
 
= مقایسه با شبکه "همتابه‌همتا" =
علاوه بر مدل سرویس دهنده-سرور ، برنامه های محاسباتی توزیع شده اغلب از معماری برنامه peer-to-peer (P2P) استفاده می کنند.
 
در مدل سرویس گیرنده - سرور ، سرور اغلب به گونه ای طراحی شده است كه به عنوان یك سیستم متمركز عمل می كند كه به بسیاری از سرویس گیرندگان سرویس می دهد. توان محاسباتی ، حافظه و نیازهای ذخیره سازی سرور باید متناسب با حجم كار مورد انتظار مقیاس بندی شود. سیستم های تعادل بار و خرابی که معمولاً برای مقیاس گذاری سرور فراتر از یک ماشین فیزیکی استفاده می شود.
 
Load Balancing به صورت توزیع متد و کارآمد شبکه یا ترافیک برنامه در سرورهای متعدد در مزرعه سرور تعریف می شود. هر توازن بار بین دستگاه های سرویس گیرنده و سرورهای باطن قرار می گیرد ، درخواست های ورودی را به هر سرور موجود که قادر به انجام آنها باشد دریافت و سپس توزیع می کند.
 
در یک شبکه نظیر به نظیر ، دو یا چند رایانه (همتا) منابع خود را جمع می کنند و در یک سیستم غیرمتمرکز ارتباط برقرار می کنند. همتا ها در یک شبکه غیر سلسله مراتبی گره های برابر یا برابر هستند. بر خلاف مشتری در مشتری - سرور یا مشتری - شبکه صف-مشتری ، همتایان به طور مستقیم با یکدیگر ارتباط برقرار می کنند. در شبکه نظیر به نظیر ، الگوریتمی در پروتکل ارتباطات نظیر به نظیر بار را متعادل می کند ، و حتی همتایان با منابع متوسط ​​می توانند به اشتراک بگذارند load. اگر گره ای در دسترس نباشد ، منابع مشترک آن تا زمانی که سایر همتایان آن را ارائه دهند ، در دسترس خواهد بود. در حالت ایده آل ، یک همکار نیازی به دستیابی به دسترسی بالا ندارد زیرا سایر همسالان زائد هرگونه خرابی منابع را جبران می کنند ؛ در دسترس بودن و ظرفیت بار همسالان تغییر می کند ، پروتکل درخواست را تغییر می دهد.
 
هر دو سرور سرویس گیرنده و سرویس دهنده به عنوان زیر مجموعه سیستم های توزیع شده نظیر به نظیر در نظر گرفته می شوند.
 
== جستارهای وابسته ==
سطر ۲۰ ⟵ ۷۰:
* [[کارخواه بزرگ]]
* [[معماری‌های مختلف پایگاه داده‌ها]]
 
 
== منابع ==