گاه نوشته های مهدی بیاضی

tail -f /dev/mind > blog

گاه نوشته های مهدی بیاضی

tail -f /dev/mind > blog

طبقه بندی موضوعی

High Scalable Systems

سه شنبه, ۱۴ شهریور ۱۳۹۱، ۱۰:۳۵ ق.ظ

با توجه به سرعت توسعه اینترنت و بحث ارتباط در اکثر کاربرد های کنونی نیاز به تکنولوژی های جدید تر و بهینه تر در این زمینه احساس می شه. مشکلات و مسایل موجود در این زمینه بسیار بزرگتر و پیچیده تر شده. بر خلاف سال های دور مشکلات جدیدی مطرح شده که یک نرم افزار تحت شبکه باید از عهده این مشکلات بر بیاد.

مدیریت و پاسخگویی به هزاران و گاهی میلیون ها درخواست توسط یک نرم افزار تحت شبکه نیاز به تکنولوژی و تعاریف جدیدی دارد.

خیلی دوست دارم در مورد بحث های پردازش ها و سیستم های توسعه پذیر یا دارای scalability بالا بنویسم. مواردی که ما با اون در یک نرم افزار با قابلیت توسعه بسیار زیادی که باید بتونه به حجم بسیار زیاد از کاربران جواب بده یا با داده های بسیاری سرو کار داشته باشه با سایر نرم افزار ها بسیار فرق داره. معمولا از این تکنولوژی ها زیاد نمی شنویم. آموزش یا راهنمای خوبی هم براشون نیست و بیشتر تجربی هست. کسی هم که تجربه خوبی داشته باشه به راحتی حاضر به ارائه اون نیست متاسفانه !

وقتی میزان درخواست و پردازش یک نرم افزار یا مقدار اطلاعات ذخیره شده در سیستم یا مواردی از این دست زیاد و زیاد تر می شه ما با مشکلات جدیدتری روبرو می شیم. مشکلاتی که قبلا پیش نیامده بودند. در هر مرحله می شه با یک سری کارها سیستم رو بهبود داد تا توانایی پردازش و کار رو داشته باشه. اما با ادامه روند رشد و از یک مرحله به بعد اگر سیستم طراحی شده با در نظر گرفتن بحث های توسعه پذیری بالا یا High Scalability پیاده سازی نشده باشه دیگه با تغییرات رو سیستم موجود نمی شه بار پردازشی یا حجم اطلاعات رو تحمل کرد و سیستم به مشکل بر می خوره یا کاملا خاموش می شه. 

سعی خواهم کرد در ادامه مطالبی رو مرتبط با این شاخه شیرین و مهم و روبه رشد رو در این وبلاگ منتشر کنم. بخشی از مطالب از تجارب شخصی خودم هست و ممکنه برخی مطالب هم ترجمه یا معرفی ابزار ها و نرم افزار ها باشه.

نظرات (۱)

salam ! tafavote Scalable/ Expandable/ Extendable  che  nokteEie!?i
پاسخ:
تعاریف مشخص و استانداردی برای این لغات وجود نداره و بسته به شرایط هر کدوم ممکنه معنی و مفهوم مختلفی داشته باشند. معمولا منظور از scalable سرویسی (شامل نرم افزار، سخت افزار، بستر شبکه و ...) هست که به راحتی و با اضافه یا کم کردن منابع بشه تغییر اندازه داد توش. یعنی با اضافه کردن هارد بیشتر امکان ایجاد کاربر یا اطلاعات هم بیشتر بشه. اما لغات مشابه معمولا معانی مختلفی دارند. اما اکثر منظور از لغاتی مثل extensible سرویس یا نرم افزاری هست که بشه بخش های مختلف رو بهش اضافه کرد و کارایی و امکاناتش رو توسعه داد. مثل به راحتی یک ماژول جدید به سیستم اضافه کرد.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی