Skip to Content
Express and MongooseSingle Threaded NodejsMulti-threaded Server vs Single-threaded

Multi-threaded Server vs Single-threaded

🧵 Multi-threaded Server

Multi-threaded Server-এ একাধিক থ্রেড একসাথে কাজ করতে পারে, যার ফলে:

  • একাধিক রিকোয়েস্ট সমান্তরালে প্রসেস হয়।
  • সার্ভারের পারফর্মেন্স অনেক বেড়ে যায়।

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-19_39_40.png

✨ সমস্যা

এই আর্কিটেকচার কনকারেন্ট প্রসেসিং-এর কারণে কিছু জটিলতা তৈরি করে:

  • Deadlock
  • Race condition

উদাহরণ:

ধরা যাক, আমাদের সার্ভারে ১০টি থ্রেড আছে।

তাহলে একসাথে ১০টি ইউজারের রিকোয়েস্ট সহজেই প্রসেস করা যাবে, সেটা I/O operation হোক বা CPU intensive কাজ হোক না কেন।

কিন্তু যখন ১১তম রিকোয়েস্ট আসবে, তখন সেটা wait করতে হবে — অর্থাৎ block হয়ে যাবে।

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-19_40_02.png

এই সমস্যা সমাধানে দুটি স্কেলিং পদ্ধতি রয়েছে:

Scalingব্যাখ্যা
🔁 Horizontal Scalingনতুন সার্ভার যুক্ত করে সামর্থ্য বাড়ানো হয়
⬆️ Vertical Scalingএকই সার্ভারে শক্তিশালী CPU/GPU সংযুক্ত করা হয়

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-19_31_36.png

দুই পদ্ধতিই ব্যয়বহুল এবং রিসোর্স-নির্ভর। সবসময় স্কেলেবল নাও হতে পারে।


🪶 Single-threaded Server

Single-threaded Server-এ একটিই থ্রেড থাকে। এর বৈশিষ্ট্য:

  • একসাথে একটি কাজই প্রসেস করা যায়।
  • তবে এটি সহজ ও Lightweight, কারণ থ্রেড ম্যানেজমেন্ট কম লাগে।

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-19_46_34.png

✅ উদাহরণ: Node.js

  • Single-threaded + Event-driven
  • ভারী কাজ libuv এর Thread Pool দিয়ে হ্যান্ডেল করে।
  • তাই একমাত্র থ্রেড ব্লক হয় না।

✅ Node.js এর সমাধান: Thread Pool + Event-driven Architecture

আগে Node.js-এ CPU-intensive কাজ করা কঠিন ছিল, কারণ একমাত্র থ্রেড ব্লক হয়ে যেত।

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-21_33_39.png

এখন, Thread Pool ব্যবহার করে ভারী কাজগুলো Worker Thread-এ পাঠানো হয় এবং Event Loop ফ্রি থাকে।

screencapture-web-programming-hero-level2-batch-5-video-level2-batch-5-12-5-single-threaded-node-js-2025-06-14-19_50_48.png

🔥 ফলাফল:

  • High concurrency
  • Efficient performance
  • Cost-effective compared to traditional scaling

🧵 তুলনা: Single-threaded vs Multi-threaded Server :

বিষয়Single-threaded ServerMulti-threaded Server
থ্রেড সংখ্যা১টি থ্রেডএকাধিক থ্রেড
প্রসেসিং ক্ষমতাএকসাথে একটি কাজএকাধিক কাজ সমান্তরালে
পারফর্মেন্সতুলনামূলক কমবেশি
জটিলতাসহজConcurrency হ্যান্ডেল করতে হয়
Node.js উপযোগিতা✔️ হ্যাঁ❌ সরাসরি নয় (কিন্তু ব্যাকগ্রাউন্ডে Thread Pool ব্যবহার করে)

Last updated on