Distributed System

سیستم توزیع‌شده مجموعه‌ای از عناصر محاسباتی خودمختار است که از طریق یک شبکه به هم متصل شده‌اند و برای کاربر مانند یک سیستم یکپارچه به نظر می‌رسند. این اجزا که معمولاً Node نامیده می‌شوند می‌توانند Deviceهای سخت‌افزاری (مانند رایانه یا تلفن همراه) یا Processهای نرم‌افزاری باشند. Nodeها برای رسیدن به هدفی مشترک برنامه‌ریزی شده‌اند و برای همکاری با هم از طریق شبکه پیام ردوبدل می‌کنند.

مسئله‌ای که حل می‌کند

بسیاری از Applicationهای مدرن امروز آن‌قدر بزرگ هستند که برای اجرا به ابررایانه نیاز دارند؛ به Gmail یا Netflix فکر کنید. هیچ رایانه منفردی به‌تنهایی به اندازه‌ای قدرتمند نیست که کل Application را میزبانی کند. با متصل کردن چندین رایانه، توان محاسباتی عملاً نامحدود می‌شود. بدون محاسبات توزیع‌شده، بسیاری از Applicationهایی که امروز به آن‌ها وابسته‌ایم امکان‌پذیر نبود.

به شکل سنتی، سیستم‌ها به‌صورت عمودی Scale می‌شدند؛ یعنی اضافه کردن CPU یا حافظه به یک ماشین منفرد. Scale عمودی زمان‌بر است، Downtime نیاز دارد و خیلی سریع به سقف خود می‌رسد.

چگونه کمک می‌کند

سیستم‌های توزیع‌شده امکان Scale افقی را فراهم می‌کنند (مثلاً اضافه کردن Nodeهای بیشتر به سیستم هر زمان که لازم باشد). این کار می‌تواند خودکار شود و به سیستم اجازه دهد افزایش ناگهانی بار کاری یا مصرف منابع را مدیریت کند.

سیستمی که توزیع‌شده نیست، خود را در معرض ریسک Failure قرار می‌دهد، زیرا اگر یک ماشین از کار بیفتد، کل سیستم از کار می‌افتد. سیستم توزیع‌شده را می‌توان طوری طراحی کرد که حتی اگر بعضی ماشین‌ها از کار بیفتند، کل سیستم همچنان کار کند و همان نتیجه را تولید کند.


آخرین ویرایش September 26, 2025: [fa] Add Persian to the list of localized languages (6511f5f)