Skip to Content
Nextra 4.0 is released 🎉
DocumentationScale From 0 to millionData Centers (ডেটা সেন্টার) এবং Message Queue — সহজ বাংলা ব্যাখ্যা

Data Centers (ডেটা সেন্টার) এবং Message Queue — সহজ বাংলা ব্যাখ্যা


Data Centers (ডেটা সেন্টার)

Figure 15-এ একটি সিস্টেম দেখানো হয়েছে যেখানে দুটি ডেটা সেন্টার (Data Center) ব্যবহার করা হয়েছে।

  • DC1 → US-East
  • DC2 → US-West

সাধারণ অবস্থায়, ব্যবহারকারীদের GeoDNS routing এর মাধ্যমে সবচেয়ে কাছের ডেটা সেন্টারে পাঠানো হয়।


GeoDNS কী?

GeoDNS হলো এমন একটি DNS system যা ব্যবহারকারীর অবস্থান (location) অনুযায়ী domain name কে IP address-এ রূপান্তর করে।

👉 সহজভাবে: ব্যবহারকারী যেখান থেকে আসছে, সেখানকার কাছের data center-এ তাকে পাঠানো হয়।


Traffic distribution

উদাহরণ:

  • US-East → x% traffic
  • US-West → (100 - x)% traffic

Figure 15 (Multi Data Center System)

Figure 15 অনুযায়ী:

  • User → DNS → CDN → Load Balancer
  • Load Balancer → দুইটি Data Center

প্রতিটি data center-এর ভিতরে থাকে:

  • Web servers
  • Cache
  • Database

এছাড়াও দুই data center একটি shared NoSQL database-এর সাথে যুক্ত থাকে।

👉 উদ্দেশ্য: কম latency + high availability + better global performance


Figure 16 (Data Center Failure Scenario)

Figure 16-এ দেখা যায়:

  • DC2 (US-West) বন্ধ হয়ে গেছে
  • তখন 100% traffic DC1 (US-East)-এ পাঠানো হয়

👉 এটি নিশ্চিত করে যে:

  • একটি data center fail করলেও system চালু থাকে
  • ব্যবহারকারী service থেকে বিচ্ছিন্ন হয় না

Multi Data Center System এর চ্যালেঞ্জ

একাধিক data center ব্যবহার করলে কিছু বড় সমস্যা আসে:


১. Traffic Redirection (ট্রাফিক সঠিকভাবে পাঠানো)

সমস্যা:

  • কোন user কোন data center-এ যাবে তা ঠিক করতে হয়

সমাধান:

  • GeoDNS ব্যবহার করা হয়
  • এটি user location অনুযায়ী nearest data center-এ পাঠায়

২. Data Synchronization (ডেটা সমন্বয়)

সমস্যা:

  • বিভিন্ন region-এ আলাদা database/cache থাকতে পারে
  • এক data center down হলে অন্যটিতে data নাও থাকতে পারে

সমাধান:

  • Multiple data center-এর মধ্যে data replicate করা হয়
  • Netflix-এর মতো বড় কোম্পানি asynchronous replication ব্যবহার করে

৩. Testing এবং Deployment

সমস্যা:

  • একাধিক data center থাকলে সব জায়গায় একই system ঠিকভাবে কাজ করছে কিনা নিশ্চিত করতে হয়

সমাধান:

  • Automated deployment tools ব্যবহার করা হয়
  • সব data center-এ consistent release নিশ্চিত করা হয়

System Scaling এর পরবর্তী ধাপ

আরও বড় স্কেল করতে হলে system-এর বিভিন্ন অংশকে আলাদা (decouple) করতে হয়।

👉 এর জন্য ব্যবহার করা হয়:

Message Queue (মেসেজ কিউ)


Message Queue কী?

Message Queue হলো একটি durable system component, যা asynchronous communication-এর জন্য ব্যবহৃত হয়।

এটি মূলত:

  • Temporary buffer হিসেবে কাজ করে
  • কাজকে queue-তে রেখে পরে process করতে দেয়

Message Queue Architecture

Figure 17 অনুযায়ী:

দুটি প্রধান অংশ:

১. Producer (প্রডিউসার)

  • Message তৈরি করে
  • Queue-তে পাঠায় (publish করে)

২. Consumer (কনজিউমার)

  • Queue থেকে message পড়ে
  • নির্দিষ্ট কাজ সম্পন্ন করে

Flow:

  1. Producer → message publish করে
  2. Message Queue → message store করে
  3. Consumer → message consume করে

গুরুত্বপূর্ণ ধারণা:

  • Producer এবং Consumer একে অপরের উপর নির্ভরশীল নয়
  • দুটো আলাদাভাবে কাজ করতে পারে

👉 এটিকে বলা হয় decoupling


Message Queue এর সুবিধা

  • System বেশি scalable হয়
  • Services independent থাকে
  • Failure হলেও system বন্ধ হয় না
  • Load control করা সহজ

Real-world Example (Photo Processing System)

Figure 18 অনুযায়ী:

একটি image processing system ধরা যাক:

  • Crop
  • Blur
  • Sharpen

এই কাজগুলো সময়সাপেক্ষ।


কীভাবে কাজ করে?

১. Web server (Producer)

  • Photo processing job তৈরি করে
  • Message queue-তে পাঠায়

২. Message Queue

  • সব job queue-তে রাখে

৩. Worker (Consumer)

  • Queue থেকে job নেয়
  • Image processing করে

Scaling সুবিধা:

  • যদি queue বড় হয় → আরও worker যোগ করা যায়
  • যদি queue খালি থাকে → worker কমানো যায়

Final Summary

Data Centers

  • Multiple region ব্যবহার করে system globally scalable করা হয়
  • GeoDNS user-কে nearest data center-এ পাঠায়
  • Failure হলে traffic অন্য data center-এ যায়

Key Challenges

  • Traffic routing
  • Data synchronization
  • Multi-region deployment

Message Queue

  • Asynchronous communication system
  • Producer → Queue → Consumer model
  • System decoupled এবং scalable হয়

👉 আধুনিক বড় system design-এর মূল ধারণা:

  • Multi Data Center
  • CDN + Cache
  • Stateless services
  • Message Queue-based architecture