مدل کلاینت-سرور: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز حذف الگوهای خرد با کمک خرد-زدا |
جز ابرابزار/اصلاح بخشبندی |
||
خط ۲:
[[پرونده:Client-server-model.svg|بندانگشتی|یک شبکه کامپیوتری از ارتباط بین سرویس دهنده و سرویس گیرنده]]
'''مدل کارخواه-کارساز'''<ref>{{یادکرد وب |نویسنده = '''کارخواه-کارساز''' عبارت مصوب فرهنگستان زبان و ادب فارسی به جای '''client-server''' در [[زبان انگلیسی|انگلیسی]] و در حوزهٔ [[رایانه]] است |نشانی = http://www.persianacademy.ir/fa/wordspdf.aspx |عنوان = فرهنگ واژههای مصوّب فرهنگستان: ۱۳۷۶ تا ۱۳۸۵، بخش سوم: به ترتیب الفبای لاتینی، صفحهٔ ۴۷ |ناشر = فرهنگستان زبان و ادب فارسی |تاریخ =
▲'''مدل کارخواه-کارساز'''<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) تحت [[شبکه رایانهای]] برنامهای است که یک [[کارخواه]] را که توسط یک [[رابط کاربری]] برنامه شناسایی میشود، به یک [[سرور (رایانه)|سرور]] یا سامانهٔ [[پایگاه داده]] متصل میکند. هنگامی که یک ''کارخواه'' مستقیماً به یک سیستم پایگاه داده، یا یک سرور یکپارچه متصل میگردد، معماری برنامه، [[معماری دولایه]]ای است.
یک ''معماری کارخواه-کارساز'' یک معماری شبکهای است که در آن هر [[رایانه]] یا [[پردازش]] روی [[شبکه]] یا یک ''[[سرور (رایانه)|کارساز]]'' است، یا یک ''[[کارخواه]]''. سرورها معمولاً رایانههای پرقدرت، یا پردازشهایی هستند که مختص انجام کار خاصی مانند مدیریت [[دیسک گردان
''کارخواه''ها، [[ایستگاههای کاری]] یا [[رایانههای شخصی]] هستند که کاربران بر روی آنها [[نرمافزار کاربردی|برنامههای کاربردی]] را اجرا مینمایند. کارخواهها به منابعی که کارساز به آنها اختصاص میدهد مانند، [[پرونده]]، دستگاهها، و قدرت [[پردازش]] اعتماد دارند. این معماری از سایر معماریها در این نکته متمایز است که میتواند با استفاده از [[لایه
در سالهای اخیر استفاده از یک [[کارخواه کوچک]] (thin client) که حاوی [[منطق کاری]] نیست، و تنها عناصر رابط کاربری جهت اتصال به یک [[کارساز کاربردی]] که منطق کاری روی آن پیادهسازی شده باب شدهاست، که به صورت [[تراگذاری]]، با یک [[کارساز پایگاه داده]]، که اطلاعات بروی آن به صورت خام نگهداری و توسط برنامه کاربردی مورد استفاده قرار میگیرد. شبیه به معماری که [[معماری سه-لایه]]ای (three-tier architecture) معروف است، و یک نوع خاص از [[معماری n-لایه]] (n-tier architecture) است.
سطر ۱۷ ⟵ ۱۶:
نوع دیگری از معماری شبکهای به نام معماری [[همکار-به-همکار]] شناخته میشود، زیرا هر گره وظایف یکسانی دارد. هر دو نوع معماریهای ''کارخواه-کارساز'' یا ''همکار-به-همکار'' بهطور گستردهای کاربر دارند، و هرکدام مزیتها و معایب خاص خودشان را دارند.
== نقش سرویس دهنده- سرویس گیرنده ==
مشخصه
اینکه کامپیوتر یک کلاینت
== ارتباط سرویس دهنده- سرویس گیرنده ==▼
▲اینکه کامپیوتر یک کلاینت باشد ، یک سرور یا هر دو ، با توجه به ماهیت برنامه ای که به توابع سرویس نیاز دارد ، تعیین می شود. به عنوان مثال ، یک کامپیوتر می تواند همزمان وب سرور و نرم افزار سرور پرونده را اجرا کند تا داده های مختلف را به مشتریانی که درخواستهای مختلفی می کنند. نرم افزار سرویس گیرنده همچنین می تواند با نرم افزار سرور در همان رایانه ارتباط برقرار کند.<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 Balancing به صورت توزیع متد و کارآمد شبکه یا ترافیک برنامه در سرورهای متعدد در مزرعه سرور تعریف می شود. هر توازن بار بین دستگاه های سرویس گیرنده و سرورهای باطن قرار می گیرد ، درخواست های ورودی را به هر سرور موجود که قادر به انجام آنها باشد دریافت و سپس توزیع می کند.
هر دو سرور سرویس گیرنده و سرویس دهنده به عنوان زیر مجموعه
▲در یک شبکه نظیر به نظیر ، دو یا چند رایانه (همتا) منابع خود را جمع می کنند و در یک سیستم غیرمتمرکز ارتباط برقرار می کنند. همتا ها در یک شبکه غیر سلسله مراتبی گره های برابر یا برابر هستند. بر خلاف مشتری در مشتری - سرور یا مشتری - شبکه صف-مشتری ، همتایان به طور مستقیم با یکدیگر ارتباط برقرار می کنند. در شبکه نظیر به نظیر ، الگوریتمی در پروتکل ارتباطات نظیر به نظیر بار را متعادل می کند ، و حتی همتایان با منابع متوسط می توانند به اشتراک بگذارند load. اگر گره ای در دسترس نباشد ، منابع مشترک آن تا زمانی که سایر همتایان آن را ارائه دهند ، در دسترس خواهد بود. در حالت ایده آل ، یک همکار نیازی به دستیابی به دسترسی بالا ندارد زیرا سایر همسالان زائد هرگونه خرابی منابع را جبران می کنند ؛ در دسترس بودن و ظرفیت بار همسالان تغییر می کند ، پروتکل درخواست را تغییر می دهد.
▲هر دو سرور سرویس گیرنده و سرویس دهنده به عنوان زیر مجموعه سیستم های توزیع شده نظیر به نظیر در نظر گرفته می شوند.
== جستارهای وابسته ==
سطر ۷۰ ⟵ ۶۸:
* [[کارخواه بزرگ]]
* [[معماریهای مختلف پایگاه دادهها]]
== منابع ==
|