ویرگول
ورودثبت نام
محمدرضا سخایی
محمدرضا سخایی
خواندن ۲ دقیقه·۳ سال پیش

Scalability یا چطور Scale بشم

جا داره حین نوشتن اولین مطلب ویرگولی درمورد رشته کاریم از پدر و مادر، اساتید دانشگاهی، مربیان باشگاهی، فامیلهای درجه یک و دو و لگاریتمی و حامیان معنوی (نه مادی) خودم که دوست داشتن دست از مسخره بازی بردارم تشکر کنم. تمنا دارم درصورت عدم رضایت از مطالب ذیل و فوق و بعدی، بنده رو با فحش رهنمون نکنید و بهم فرصت بیشتری بدید. باشد که مقبول گردیم

یکی از 5 ویژگی اساسی در سیستمهای توزیع شده Scalability یا مقیاس پذیریه. که البته چیز بسیار خوبی هم هست. به چه معنا؟

به این معنا که یک سیستم، process یا شبکه بتونه متناسب با حجم درخواستها (که ماشالا همیشه رو به افزایشه) خودش رو گسترش بده. حالا بد نیست اول بگیم چرا باید یه سیستم مقیاس پذیر باشه، به دلیل افزایش این چند مورد :

  • حجم داده هایی که درونش هست
  • حجم کارهایی که ازش خواسته میشه
  • حجم تراکنشهایی که داره انجام میده

و کلی حجم دیگه

و خب باید حواسمون هم باشه که این مقیاس پذیری عملکرد سیستم رو کاهش نده و روی فعالیت کلی اثر منفی نزاره

مثلا توی یه شبکه، مقیاس پذیری حاصل از جدا کردن ماشینها، باعث کندی سرعت اون نشه و اصلا هدف از این کار اینه که ما بتونیم بار رو به شکل مساوی بین گره هامون تقسیم کنیم

اما scaling به دو صورت صورت میگیره :

1) Horizontal

2) Vertical

Horizontal میگه که بیا با افزایش تعداد سرورهات منابع سیستم رو گسترش بده و Vertical میگه بیا به همون یه سروری که داری منابع قویتری تخصیص بده (حالا میخاد رم باشه ، سی پی یو باشه یا آب هویج مشکلی نیست)

حالا اینا چه فرق هایی دارن ؟

  • Horizontal : خب ساده تره دیگه، اینکه بیایم سرورهامون رو افزایش بدیم، به ما قابلیت dynamic scaling هم میده و احتمال کاهش Down time سیستم هم خیلی بالاتره

اما

  • Vertical : چون قراره روی منابع همون سرور کار کنه که درگیره و دستش بنده، محدودیتهای بیشتری هم داره و احتمال down time هم هست


  • دیگه اینکه Horizontal Scaling رو میشه به شکل خوبی به کمک دیتابیسهای NoSql مثل MongoDb و Cassandra انجام داد و Vertical Scaling هم به کمک دیتابیس های relational مثل MySQL و باقی دوستان
اینم عکسش!
اینم عکسش!


system designdistributed system
اگه بار اولیه که تو زندگیت تِر زدی ناراحت نشو، اسمشو بزار ورژن 1.0
شاید از این پست‌ها خوشتان بیاید