تمام سوالات سوالات بدون پاسخ سوال بپرسید

منظور از الگوریتم های متمرکز و غیر متمرکز در مبحث مقیاس پذیری سیستم های توزیع شده چیست ؟

1 پاسخ

سلام
ببینید مبحث مقیاس پذیری همانطور که از نامش پیداست در مورد قابلیت اجرای سیستم در حجم های مختلف را مورد توجه قرار می دهد. در مورد سیستم های توزیع شده الگوریتم های مختلفی برای انجام کارها استفاده می شود. بعضی از این الگوریتم های متمرکز (centralized) و بعضی دیگر غیر متمرکز هستند.
اما استفاده از الگوریتم های غیر متمرکز می تواند مقیاس پذیری بیشتری را در سیستم ایجاد نماید. زیرا در الگوریتم های متمرکز یک نقطه اتکایی وجود دارد و در صورت خرابی آن نقطه ممکن است سیستم با مشکل روبرو شود. البته می توان برای این نقطه پشتیبان هم داشت که در صورت خرابی بتواند وارد عمل شود. اما در حالت کلی این نمی تواند در سیستم های با حجم بالاتر راه حل مناسبی باشد. برای نمونه در مورد الگوریتم هایی که نیاز به یک هماهنگ کننده متمرکز دارند، چنین مشکلی وجود دارد.
مشکل دیگری که در مورد الگوریتم های متمرکز وجود دارد این است که به هر حال هر گره ظرفیت محدودی دارد و اگر قرار باشد گره های سرویس گیرنده از نقطه تمرکز زیاد و زیادتر شوند، بطور حتم آن نقطه تمرکز نمی تواند پاسخگو باشد و باید با استفاده از روش های تقسیم بار، این بار را میان نفاط تمرکز بیشتری تقسیم کرد.
اما در مورد الگوریتم های غیر متمرکز در مورد مسئله اخیر هم مشکل حل شده است. زیرا الگوریتم بصورت غیر متمرکز عمل می کند و در مورد تقسیم بار در صورت زیاد شده گره ها مشکلی بوجود نمی آید.
بنابراین بوضوح دیده می شود که استفاده از الگوریتم های غیرمتمرکز می تواند به مقیاس پذیری بیشتر سیستم کمک کند. اما معمولاً پیاده سازی این الگوریتم ها هزینه بالاتری دارد و حتی ممکن است منابع بیشتری صرف نماید. بنابراین باید در زمان طراحی سیستم به این نکته توجه داشت و تنها در مواردی که واقعاً نیاز باشد از الگوریتم های غیر متمرکز استفاده شود. شاید این الگوریتم ها پیچیده تر هم باشند و در صورتی که هدف در قسمتی از سیستم کاری است که معمولاً در مقیاس پذیری مشکلی بوجود نمی آید باید از همان متمرکزها استفاده کرد.
مسئله دیگر در طراحی سیستم توزیع شده این است که شما باید در ابتدای کار حجم حداکثری و میزان مقیاس پذیری نهایی سیستم را مشخص کرده و مطابق با این موارد سیستم را طراحی نمایید.
موفق باشید.

toggle preview



آموزش زبان برنامه نویسی C#
آموزش jquery
آموزش برنامه نویسی
آموزش طراحی وبسایت
آموزش مدیریت وبسایت
آموزش جاوا Java
آموزش پایتون Python
آموزش سی شارپ C#‎
آموزش HTML و CSS
آموزش JavaScript جاوااسکریپت
آموزش jQuery جی کوئری
آموزش ساخت ربات تلگرام
آموزش برنامه‌نویسی PHP
آموزش برنامه‌نویسی اندروید
● آموزش‌های رایگان

سوالات مرتبط

راهنمای استفاده از ویرایشگر
  • *ایتالیک*‌ یا __ایتالیک__
  • **ضخیم** یا __ضخیم__
  • آدرس:[متن](http://url.com/ "عنوان")
  • عکس?![alt متن](/path/img.jpg "عنوان")
  • لیست عددی: 1. Foo 2. Bar
  • برای رفتن به خط بعد، هر جا مایلید که خط جدید شروع شود دو کاراکتر فاصله (space) قرار دهید
  • تگ‌های ساده HTML هم پشتیبانی می‌شوند

تگها:
این سوال را دنبال کنیدتوسط ایمیل: ایمیل شما (باید معتبر باشد, هرگز به دیگران نمایش داده نمیشود):

هنگامی که شما به سیستم وارد شوید،قادر خواهید بود برای بروز رسانی ها مشترک شوید.


توسط RSS:

پاسخها

پاسخها و نظرها