Skip to content

Scaling (Horizontal vs Vertical)

যখন আপনার অ্যাপ্লিকেশনে ট্রাফিক বাড়তে থাকে, তখন সিস্টেমের পারফরম্যান্স বজায় রাখার জন্য "Scaling" প্রয়োজন হয়। স্কেলিং মূলত দুই প্রকার।

১. Vertical Scaling (Scaling Up)

ভার্টিক্যাল স্কেলিং মানে হলো আপনার বর্তমান সার্ভারের পাওয়ার বাড়িয়ে দেওয়া। যেমন: র্যাম (RAM), সিপিইউ (CPU) বা স্টোরেজ বাড়ানো।

বৈশিষ্ট্য:

  • সহজ: খুব সহজেই রিসোর্স বাড়িয়ে পারফরম্যান্স বাড়ানো যায়।
  • লিমিটেশন: একটি নির্দিষ্ট সীমার পরে হার্ডওয়্যার আর বাড়ানো সম্ভব নয় (Single point of failure)।
  • ডাউন-টাইম: অনেক সময় রিসোর্স বাড়ানোর জন্য সার্ভার রিস্টার্ট করতে হয়।

উদাহরণ: আপনার ৮জিবি র্যামের সার্ভারকে ১৬জিবি বা ৩২জিবি করা।

২. Horizontal Scaling (Scaling Out)

হরাইজন্টাল স্কেলিং মানে হলো বর্তমান সার্ভারের শক্তি না বাড়িয়ে, আরও অনেকগুলো নতুন সার্ভার যুক্ত করা। ট্রাফিক যখন অনেক বেশি হয়, তখন লোড ব্যালেন্সার (Load Balancer) এই রিকোয়েস্টগুলো বিভিন্ন সার্ভারের মধ্যে ভাগ করে দেয়।

বৈশিষ্ট্য:

  • আনলিমিটেড স্কেলিং: আপনি চাইলে হাজার হাজার সার্ভার যুক্ত করতে পারেন।
  • হাই অ্যাভেইল্যাবিলিটি: একটি সার্ভার ইমপ্যাক্টেড হলেও বাকি সার্ভারগুলো সচল থাকে।
  • জটিলতা: ম্যানেজ করা কিছুটা জটিল এবং ডেটা সিনক্রোনাইজেশন চ্যালেঞ্জ থাকে।

উদাহরণ: একটি সার্ভারের বদলে ১০টি সমশক্তির সার্ভার একটি লোড ব্যালেন্সারের আন্ডারে চালানো।

পার্থক্য একনজরে

তুলনাVertical ScalingHorizontal Scaling
সার্ভার সংখ্যা১টি (Single)একাধিক (Multiple)
সীমাবদ্ধতাহার্ডওয়্যার লিমিট আছেকোনো লিমিট নেই
ব্যয়নির্দিষ্ট সময় পর ব্যয় বাড়েলিনিয়ারলি স্কেল করা যায়
লো কারেন্সিখুব ভালো কাজ করেডিস্ট্রিবিউটেড সিস্টেম প্রয়োজন

TIP

শুরুর দিকে Vertical Scaling সহজ মনে হলেও, বড় এবং মিশন-ক্রিটিক্যাল অ্যাপ্লিকেশনের জন্য Horizontal Scaling হলো ইন্ডাস্ট্রি স্ট্যান্ডার্ড।

Released under the MIT License.