ما هو الفرق بين Vertical scaling Vs. Horizontal scaling?


26

هذا المصطلح يستخدم في عدة امور مثل البرمجة وقواعد البيانات والسيرفرات ، سوف اشرح لك الفكرة على السيرفرات.

يوجد نوعين دائماً بالترقية نقوم بها في السيرفرات عندما تصبح الموارد المتاحة الحالية غير كافية لتأدية الغرض.

النوع الأول الترقية العامودية Vertical Scale: فكرتها هي تطوير السيرفر الحالي عبر إضافة رام او ترقية المعالج او اضافة المزيد من الهارديسكات، كأن لديك عامود وتريد ان تجعل العامود هذا اطول، طبعاً الترقية ممكن تكون فقط رام وممكن تكون رام وهارديسك حسب الاحتياج.

نستخدم هذا النوع عندما يكون مازال لدينا مجال للترقية، مثلا انت تستخدم سيرفر من نوع dual-core ولديك ضغط بالمعالج اذا يمكنك الترقية إلى quad-core ، نفس الامر بالرام فرضا السيرفر 2GB ولم تعد كافية لديك ويوجد الكثير من SWAP مستخدم اذا يمكنك الان ترقية الرام لشيء مثل 4GB حسب أحتياجك.

النوع الثاني الترقية الأفقية Horizontal Scale: هنا ندخل في طريق ثاني مختلف تماماً حيث نبدأ بالتعامل مع مصطلحات اضافية مثل HA و LB و GL (التواجد العالي، توزيع الحمل والتوزيع الجغرافي)، فكرتها ان نضيف المزيد من السيرفرات بدل من ترقية السيرفرات الحالية.

نحتاج للترقية الأفقية لأسباب تختلف من خدمة لاخرى او موقع لاخر، ومن هذه الاسباب:

  • نحتاج ان يكون تواجد الخدمة عالي جداً بغض النظر عن وجود الضغط من عدمة.

  • السيرفر الحالي مواصفاته عالية جداً ومع هذا لدينا ضغط، ترقية نفس السيرفر هنا لن تفيد بشيء، الحل استخدام توزيع الحمل.

  • نحتاج ان تكون الخدمة موزعة جغرافياً لسرعة تحميل المعلومات مثل خدمات CDN.

  • نحتاج ان نفصل سيرفر قواعد البيانات عن سيرفر الويب.

جزاك الله خيرا على هذا الوصف الممتع البسيط


تطوير الويب

مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.

91 ألف متابع