একটি সাধারণ সফটওয়্যারে কোনো এরর ঘটলে তা সাময়িক ব্যতিক্রম হিসেবে ধরা হয়। কিন্তু যখন একটি বৈশ্বিক ক্লাউড প্ল্যাটফর্মে লক্ষ লক্ষ সার্ভার এবং আন্তঃমহাদেশীয় ফাইবার অপটিক ক্যাবল কাজ করে, তখন হার্ডওয়্যারের ব্যর্থতা কোনো দুর্ঘটনা নয়—বরং প্রতি মুহূর্তের এক অনিবার্য সত্য। সেখানে প্রতিনিয়ত কোনো না কোনো হার্ডডিস্ক নষ্ট হচ্ছে, মেমোরি জমে যাচ্ছে, কিংবা ফাইবার তারে ত্রুটি দেখা দিচ্ছে। ত্রুটিহীন হার্ডওয়্যারের মিথ্যা মায়া ত্যাগ করে সিস্টেমকে এমনভাবে তৈরি করতে হয় যেন সে প্রতিনিয়ত বিপর্যয়ের মধ্যেও সচল থাকে। এই প্রকৌশল দর্শনের নামই হলো রেজিলিয়েন্সি প্যাটার্ন ও কেওস ইঞ্জিনিয়ারিং (Chaos Engineering)।

১. ক্যাসকেডিং ফেইলিওর ও ধ্বংসাত্মক ডেথ-স্পাইরাল

ডিস্ট্রিবিউটেড সিস্টেমের সবচেয়ে মারাত্মক বিপর্যয় হলো ক্যাসকেডিং ফেইলিওর (Cascading Failure)। ছোট একটি ত্রুটি কীভাবে পুরো বৈশ্বিক নেটওয়ার্ককে ধসিয়ে দেয়:

  1. একটি ব্যাকএন্ড ডেটাবেস সার্ভার সাময়িকভাবে ধীরগতির হয়ে পড়ে।
  2. উক্ত ডেটাবেসের সাথে যুক্ত শত শত মাইক্রোসার্ভিস টাইমআউট হতে দেখে তৎক্ষণাৎ রিট্রাই (Retry) করা শুরু করে।
  3. হঠাৎ করে ডেটাবেসের ওপর ট্র্যাফিকের চাপ দ্বিগুণ বা চারগুণ হয়ে যায়।
  4. ডেটাবেসের সমস্ত থ্রেড এবং র‍্যাম পূর্ণ হয়ে সার্ভারটি সম্পূর্ণরূপে ক্র্যাশ করে।
  5. ডেটাবেসের সমস্ত ট্র্যাফিক তখন স্বয়ংক্রিয়ভাবে পাশের সুস্থ রেপ্লিকাগুলোর ওপর গিয়ে পড়ে এবং ডমিনো প্রভাবের মতো একে একে ক্লাস্টারের সমস্ত সার্ভার ক্র্যাশ করে।

২. সার্কিট ব্রেকার প্যাটার্ন (The Circuit Breaker Pattern)

মাইকেল নিগার্ড তাঁর বিখ্যাত ‘Release It!’ বইয়ে সার্কিট ব্রেকার ধারণাটি উপস্থাপন করেন। বিদ্যুৎ লাইনের সার্কিট ব্রেকারের মতো এটি ব্যাকএন্ডকে বাঁচাতে নেটওয়ার্ক সংযোগ বিচ্ছিন্ন করে দেয়:

  • ক্লোজড (Closed – স্বাভাবিক): সমস্ত রিকোয়েস্ট স্বাভাবিকভাবে যেতে পারে। সিস্টেম ব্যর্থতার হার পর্যবেক্ষণ করে।
  • ওপেন (Open – ট্রিপড): ব্যর্থতার হার নির্দিষ্ট সীমা (যেমন ৫০%) অতিক্রম করলে সার্কিট ব্রেকার সাথে সাথে সংযোগ ‘ওপেন’ করে দেয়। এরপর আসা সমস্ত রিকোয়েস্ট নেটওয়ার্কে না পাঠিয়ে লোকালি সাথে সাথে ব্যর্থ (Fast Fail) ঘোষণা করা হয়, যা বিপন্ন সার্ভারটিকে নিঃশ্বাস নেওয়ার সময় দেয়।
  • হাফ-ওপেন (Half-Open – পরীক্ষা): একটি নির্দিষ্ট সময় পর ব্রেকারটি সীমিত কিছু পরীক্ষামূলক রিকোয়েস্ট পাঠায়। সার্ভার সুস্থ হয়ে থাকলে ব্রেকার পুনরায় স্বাভাবিক (Closed) হয়ে যায়।

৩. এক্সপোনেনশিয়াল ব্যাকঅফ ও ফুল জিটার (Full Jitter)

হাজার হাজার ক্লায়েন্ট যদি একই সেকেন্ডে রিট্রাই করে, তবে নেটওয়ার্কে বারবার সুনামি তৈরি হয়। আমাজন ওয়েব সার্ভিসের (AWS) গবেষণায় প্রমাণিত হয়েছে যে এই অনুরণন ভাঙার সবচেয়ে কার্যকর গাণিতিক সমীকরণ হলো ফুল জিটার (Full Jitter):

$$t_{text{sleep}} = mathcal{U}left(0, , min(M, , B cdot 2^i)right)$$

এখানে রিট্রাই করার সময়কে ০ থেকে এক্সপোনেনশিয়াল রেঞ্জের মধ্যে সম্পূর্ণ দৈবচয়ন পদ্ধতিতে (Randomly) ছড়িয়ে দেওয়া হয়। ফলে রিট্রাইগুলো সময়ের মধ্যে সমভাবে বণ্টিত হয়ে সিস্টেমকে দ্রুত স্বাভাবিক অবস্থায় ফিরিয়ে আনে।

৪. কেওস ইঞ্জিনিয়ারিং ও নেটফ্লিক্সের সিমিয়ান আর্মি (Simian Army)

সিস্টেম বিপর্যয় সহ্য করতে পারে কিনা তা পরীক্ষার জন্য নেটফ্লিক্স ২০১১ সালে উদ্ভাবন করে কেওস ইঞ্জিনিয়ারিং। তাদের বিখ্যাত সিমিয়ান আর্মি (Simian Army) ক্লাউডে স্বয়ংক্রিয় ধ্বংসযজ্ঞ চালায়:

  • কেওস মাঙ্কি (Chaos Monkey): ব্যস্ততম ব্যবসায়িক সময়ে প্রোডাকশন ক্লাস্টার থেকে হঠাৎ হঠাৎ যেকোনো সার্ভার বা কনটেইনার মেরে ফেলে দেখে সিস্টেম ডাউন হয় কিনা।
  • কেওস গরিলা ও কেওস কং: আমাজনের একটি পুরো ডেটাসেন্টার বা ভৌগোলিক অঞ্চল অফলাইন করে দিয়ে মাল্টি-রিজিয়ন ব্যাকআপের পরীক্ষা চালায়।

যে সিস্টেমে বিপর্যয়কে প্রতিনিয়ত অভ্যাসে পরিণত করা হয়, সেই সিস্টেম বাস্তব পৃথিবীর চরম বিপর্যয়েও অবিচল ও অটুট থাকে।