CDN কী এবং কীভাবে সাইট দ্রুত করে

Content delivery network আপনার ফাইলের কপি user-এর কাছে রাখে। এটি কীভাবে কাজ করে, header দিয়ে কীভাবে চালান, আর কী cache করা যায় না, জানুন।

চারপাশে server সহ একটি গ্লোব

CDN (content delivery network) হলো অনেক শহরে ছড়ানো একগুচ্ছ server। কেউ আপনার ছবি বা script চাইলে দূরের মূল (origin) server নয়, সবচেয়ে কাছের server উত্তর দেয়।

কেন কাজে লাগে

  • কম latency: দূরত্ব গুরুত্বপূর্ণ। ঢাকার user ইউরোপের server ধরলে দীর্ঘ round trip লাগে। কাছের edge server অনেক দ্রুত।
  • Origin-এর চাপ কম: বেশিরভাগ request সেখানে পৌঁছায়ই না।
  • Spike ও attack থেকে সুরক্ষা: traffic edge-এই শোষিত হয়। অনেক CDN DDoS ও bot ফিল্টারও দেয়।

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

  1. User ফাইল চায়। DNS তাকে সবচেয়ে কাছের edge-এ পাঠায়।
  2. Edge-এ থাকলে (cache hit) সাথে সাথে উত্তর দেয়।
  3. না থাকলে (cache miss) origin থেকে এনে কপি রাখে ও উত্তর দেয়।
  4. পরে ওই edge-এর কাছের user কপি পায়।

Header দিয়ে নিয়ন্ত্রণ

Cache-Control: public, max-age=31536000, immutable cache-কে এক বছর ফাইল রাখতে বলে। app.3fa9c.js-এর মতো নামে hash থাকা ফাইলের জন্য এটি ঠিক। যে পেজ বদলায় তার জন্য কম সময় বা no-store। আগেই সরাতে হলে CDN-এর purge ব্যবহার করুন।

CDN-এ কী রাখবেন

  • ছবি, ভিডিও, font, CSS, JavaScript: সবসময়।
  • ধীরে বদলানো public HTML: হ্যাঁ, ছোট TTL দিয়ে।
  • Personalised বা logged-in পেজ ও private data-র API: cache নয়, বা খুব সতর্কভাবে।

সাবধান

ভুল জিনিস cache করলে একজন user অন্য user-এর পেজ দেখতে পারে। Cookie-নির্ভর response কখনো cache করবেন না, যদি না cache key সেটি বিবেচনা করে।

মূল কথা: static ফাইল CDN-এর পেছনে রাখুন, versioned নামসহ লম্বা cache সময় দিন, আর private response shared cache-এর বাইরে রাখুন।


System Design সিরিজের 6 নম্বর পর্ব (মোট ১৫)। আগের পর্ব: Caching strategy: cache-aside, write-through, write-back.

আরও পড়ুন

Recursion ও backtracking সহজ উদাহরণে

Recursion সমস্যার ছোট কপি সমাধান করে সমাধান করে। অনেক interview সমস্যায় ব্যবহৃত চিন্তার ধাপ ও backtracking টেমপ্লেট শিখুন।

Interview ও DSA•৩ মিনিটে পড়া