𝗧𝗵𝗲 𝗕𝗮𝗰𝗸𝗲𝗻𝗱 𝗧𝗼𝗼𝗹𝘀 𝗧𝗵𝗮𝘁 𝗞𝗲𝗲𝗽 𝗧𝗵𝗲 𝗜𝗻𝘁𝗲𝗿𝗻𝗲𝘁 𝗔𝗹𝗶𝘃𝗲

বেশিরভাগ ডেভেলপারই চাকচিক্যময় UI এবং নতুন frontend ফ্রেমওয়ার্কের দিকে মনোযোগ দেন।

কিন্তু যখন লক্ষ লক্ষ মানুষ একসাথে একটি অ্যাপ ব্যবহার করে, তখন সেটি ক্র্যাশ হওয়া থেকে রক্ষা পায় কীভাবে?

আসল ইঞ্জিনিয়ারিং ঘটে ব্যাকগ্রাউন্ডে। এই ভারী কাজগুলো সামলানোর জন্য প্রয়োজনীয় ইনফ্রাস্ট্রাকচার টুলসগুলো সম্পর্কে আপনার ধারণা থাকা প্রয়োজন।

নিচে আটটি অপরিহার্য backend প্রযুক্তির একটি বিবরণ দেওয়া হলো:

Redis এটি দ্রুততার জন্য মেমোরিতে ডেটা সংরক্ষণ করে।

  • ব্যবহারকারীদের লগ-ইন অবস্থায় রাখতে সেশন ম্যানেজমেন্ট।
  • কুয়েরিগুলোকে তাৎক্ষণিক করতে API ক্যাশিং।

Kafka এটি ডেটা ইভেন্টের নিরবচ্ছিন্ন প্রবাহ পরিচালনা করে।

  • সার্ভিসগুলোকে ডিসকাপল করা যাতে তারা স্বাধীনভাবে কাজ করতে পারে।
  • রিয়েল-টাইম ইউজার অ্যাক্টিভিটি এবং GPS ডেটা ট্র্যাক করা।

Nginx এটি আপনার সার্ভারের জন্য একটি ঢাল হিসেবে কাজ করে।

  • ট্রাফিক সমানভাবে বণ্টন করার জন্য লোড ব্যালেন্সিং।
  • রিকোয়েস্টগুলোকে সঠিক স্থানে পাঠানোর জন্য রিভার্স প্রক্সি।

Kubernetes এটি অনেকগুলো সার্ভিসের ব্যবস্থাপনা স্বয়ংক্রিয় করে।

  • ক্র্যাশ করা কন্টেইনারগুলো পুনরায় চালু করার জন্য সেলফ-হিলিং।
  • উচ্চ ট্রাফিকের সময় রিসোর্স স্কেল আপ করা।

Elasticsearch এটি বিশাল পরিমাণ আনস্ট্রাকচার্ড ডেটার মধ্য দিয়ে অনুসন্ধান করে।

  • জটিল e-commerce ফিল্টারগুলোতে শক্তি যোগানো।
  • বিশাল লগ ফাইলের মধ্যে নির্দিষ্ট ত্রুটি খুঁজে বের করা।

GraphQL এটি আপনাকে শুধুমাত্র আপনার প্রয়োজনীয় নির্দিষ্ট ডেটা অনুরোধ করার সুযোগ দেয়।

  • মোবাইল অ্যাপের ব্যান্ডউইথ সাশ্রয় করা।
  • একটি কলের মাধ্যমেই একাধিক উৎস থেকে ডেটা সংগ্রহ করা।

RabbitMQ এটি একটি সিস্টেমের বিভিন্ন অংশের মধ্যে যোগাযোগ পরিচালনা করে।

  • ব্যাকগ্রাউন্ডে ফাইল প্রসেসিং করা।
  • অ্যাপের গতি কমিয়ে না দিয়ে নোটিফিকেশন ইমেল পাঠানো।

Docker এটি কোডকে এমনভাবে প্যাকেজ করে যাতে এটি সব জায়গায় একইভাবে চলে।

  • আপনার ল্যাপটপ এবং ক্লাউডের মধ্যে সামঞ্জস্য নিশ্চিত করা।
  • অ্যাপগুলোকে আলাদা রাখা যাতে তারা একে অপরের কাজে বাধা না দেয়।

একজন দুর্দান্ত ডেভেলপার হওয়ার জন্য আপনাকে এই সবগুলোতে বিশেষজ্ঞ হতে হবে না। তবে স্কেলেবল সিস্টেম তৈরির জন্য এগুলো কীভাবে একে অপরের সাথে কাজ করে তা বোঝা আপনার জন্য জরুরি।

আপনি আপনার বর্তমান প্রজেক্টে এই টুলগুলোর মধ্যে কোনটি ব্যবহার করছেন?

উৎস: https://dev.to/mursalfk/the-invisible-duct-tape-of-the-internet-backend-tools-you-hear-about-but-never-fully-get-3f0f