سیستمهای توزیع شده مجموعهای از کامپیوترها هستند، که توزیع آنها از دید کاربر مخفی (Transparent) است. بنابراین، کاربری که با یک سیستم توزیع شده کار میکند، این سیستم را همانند یک کامپیوتر مشاهده میکند. در این مقاله از فکت کوینز به بررسی سیستم توزیع شده خواهیم پرداخت، پس همراه ما باشید.
تننباوم (Tanenbaum)، نویسنده کتاب سیستمهای توزیع شده ، چنین تعریفی را برای این سیستم ارائه میدهد: سیستم توزیع شده، مجموعهای از کامپیوترهای مستقل از هم هستند، که از نظر کاربر، یک کامپیوتر تنها به نظر میرسند. بهعنوانمثال، موتور جستجوی گوگل مبتنی بر یک سیستم توزیع شده بزرگ است، اما به نظر کاربر، یک پلتفرم منسجم و واحد است.
سیستمهای توزیع شده چگونه کار میکنند؟
در سیستمهای توزیع شده یک مسئله به وظایف مختلف تقسیم میشود که هرکدام از آنها توسط یک کامپیوتر یا بیشتر حل میشود.این سیستمها از طریق ارسال پیام با یکدیگر در ارتباط هستند.
همه گرهها در یک سیستم توزیع شده قادر به ارسال و دریافت پیام از یکدیگر هستند. گرهها میتوانند سالم، معیوب یا مخرب باشند و دارای حافظه و پردازنده هستند. گرهای که رفتارهای غیرمنطقی از خود نشان میدهد ( مسئله ژنرال های بیزانس) به عنوان گره بیزانس نیز شناخته میشود.
طراحی سیستمهای توزیع شده بهقدری چالشبرانگیز است که فرضیهای معروف به قضیه CAP اثبات شده است. طبق این نظریه یک سیستم توزیع شده نمیتواند بهطور همزمان از هر سه ویژگی (سازگاری، در دسترس بودن و تحمل پارتیشن) برخوردار باشد.
تفاوت محاسبات توزیع شده و محاسبات موازی
در سیستمهای توزیع شده ، داده ها و محاسبات در چندین گره در شبکه پخش میشود. گاهی اوقات، این اصطلاح با محاسبات موازی اشتباه گرفته میشود.
تفاوت اصلی این سیستمها در این است که در یک سیستم موازی، محاسبات بهطور همزمان توسط همه گرهها انجام میشود تا نتیجه حاصل شود. بهعنوانمثال، سیستمهای محاسبات موازی در تحقیقات ، پیشبینی هواشناسی، شبیهسازی و مدلسازی مالی استفاده میشود.
از طرف دیگر، در سیستمهای توزیع شده ، محاسبات ممکن است بهطور موازی اتفاق نیفتد. و دادهها در چندین گره که کاربران به عنوان یک سیستم منسجم مشاهده میکنند، تکرار میشوند. از تغییرات هر دو این مدلها برای دستیابی به تحمل خطا و سرعت استفاده میشود.
در مدل سیستم موازی، هنوز یک مرجع مرکزی وجود دارد که کنترل همه گرهها را دارد. این مرجع پردازش را کنترل میکند. این بدان معنی است که سیستم هنوز ماهیتی متمرکز دارد. درحالیکه در یک سیستم غیرمتمرکز، چنین مرجعی وجود ندارد.
جمع بندی
همانطور که در این مقاله دیدیم، سیستمهای توزیع شده الگوهای محاسباتی هستند که بهموجب آن دو یا چند گره (نود) به صورت هماهنگ با یکدیگر کار میکنند تا به یک نتیجه مشترک برسند. این سیستمها بهگونهای مدلسازی شده است که کاربران نهایی، آن را به عنوان یک پلتفرم واحد در نظر میگیرند.
سیستم توزیع شده مجموعهای از کامپیوترها هستند، که توزیع آنها از دید کاربر مخفی (Transparent) است. بنابراین، کاربری که با یک سیستم توزیع شده کار میکند، این سیستم را همانند یک کامپیوتر مشاهده میکند.
معروفترین سیستم توزیع شده، همان وب (Web) است. ما هر روزه با دنیای وب سر و کار داریم، وب سایتهای مختلف که بر روی کامپیوترها و سرورهای مختلف قرار دارند، نوعی سیستم توزیع شده به شمار میروند.