Lambda এর ইভেন্ট-ড্রিভেন আর্কিটেকচার

AWS Lambda পরিচিতি - এডাব্লিউএস ল্যাম্বডা (AWS Lambda) - Web Development

298

AWS Lambda একটি ইভেন্ট-ড্রিভেন (Event-driven) আর্কিটেকচার ব্যবহার করে, যার মানে হল যে Lambda ফাংশনটি নির্দিষ্ট ইভেন্ট বা ট্রিগার দ্বারা চালু হয়। এই আর্কিটেকচারের মূল সুবিধা হলো, Lambda ফাংশন শুধুমাত্র তখনই রান হয় যখন কোনো নির্দিষ্ট ইভেন্ট ঘটবে, এবং এটি স্বয়ংক্রিয়ভাবে প্রাসঙ্গিক রিসোর্স নিয়ে কোড এক্সিকিউট করতে সক্ষম।

এটি serverless কম্পিউটিং এর একটি শক্তিশালী দিক, কারণ ডেভেলপারদের অবকাঠামো ম্যানেজমেন্টের চিন্তা ছাড়াই শুধুমাত্র ইভেন্ট বা কার্যক্রমের ভিত্তিতে কোড চালানোর সুযোগ দেয়।


ইভেন্ট-ড্রিভেন আর্কিটেকচারের কাজের ধরন

Lambda এর ইভেন্ট-ড্রিভেন আর্কিটেকচার একটি প্রবাহ তৈরি করে, যেখানে বিভিন্ন AWS সেবা এবং ইভেন্টগুলি Lambda ফাংশনকে ট্রিগার করতে ব্যবহৃত হয়। এই প্রবাহে সাধারণত তিনটি প্রধান উপাদান থাকে:

  1. ইভেন্ট প্রযোজক (Event Producer):
    এটি এমন একটি সেবা বা অ্যাপ্লিকেশন যা কোনো নির্দিষ্ট ইভেন্ট বা কার্যক্রম তৈরি করে। উদাহরণস্বরূপ, AWS S3, DynamoDB, SNS, অথবা SQS হতে পারে ইভেন্ট প্রযোজক।
  2. ইভেন্ট (Event):
    এটি হলো সেই ঘটনার তথ্য, যা Lambda ফাংশনকে ট্রিগার করতে ব্যবহার করা হয়। যেমন, একটি নতুন ফাইল আপলোড হলে, একটি নতুন রেকর্ড ইনসার্ট হলে, বা একটি মেসেজ কিউতে আসলে এই ইভেন্ট তৈরি হয়।
  3. Lambda ফাংশন (Lambda Function):
    এটি হলো সেই কোড যা নির্দিষ্ট ইভেন্ট ট্রিগারের মাধ্যমে রান হয়। Lambda ফাংশনটি প্রাসঙ্গিক ইভেন্টের উপর ভিত্তি করে প্রক্রিয়া সম্পাদন করে।

ইভেন্ট-ড্রিভেন আর্কিটেকচারের প্রক্রিয়া

  1. ইভেন্ট ঘটানো:
    যখন কোনো নির্দিষ্ট কার্যক্রম ঘটে, যেমন একটি নতুন ফাইল S3 বকেটে আপলোড বা একটি নতুন রেকর্ড DynamoDB তে সংরক্ষিত হলে, তখন এটি একটি ইভেন্ট তৈরি করে।
  2. ইভেন্ট Lambda ফাংশনকে ট্রিগার করে:
    এই ইভেন্টটি AWS Lambda ফাংশনকে ট্রিগার করার জন্য প্রেরণ করা হয়। এর মাধ্যমে Lambda ফাংশন স্বয়ংক্রিয়ভাবে রান করা শুরু করে।
  3. Lambda ফাংশন এক্সিকিউট করা:
    Lambda ফাংশনটি সেই ইভেন্টের ভিত্তিতে কোড এক্সিকিউট করে। উদাহরণস্বরূপ, একটি ফাইল S3 তে আপলোড হলে Lambda ফাংশনটি সেই ফাইলটি প্রক্রিয়া করতে পারে বা অন্যান্য অ্যাকশন নিতে পারে।
  4. আউটপুট বা ফলাফল:
    Lambda ফাংশনটি ইভেন্ট অনুযায়ী প্রয়োজনীয় কাজ শেষ করলে, সিস্টেমের অন্যান্য অংশে আউটপুট বা ফলাফল পাঠানো হতে পারে, যেমন, ডেটাবেস আপডেট, মেইল পাঠানো, বা অন্য কোনো সেবা অ্যাক্সেস করা।

ইভেন্ট-ড্রিভেন আর্কিটেকচারের উদাহরণ

  1. S3 + Lambda:
    যখন কোনো ফাইল S3 বকেটে আপলোড হয়, তখন এটি Lambda ফাংশনকে ট্রিগার করে। Lambda ফাংশনটি সেই ফাইলটি প্রক্রিয়া করে, যেমন ইমেজ কম্প্রেশন বা ডেটা পার্সিং করা।
  2. DynamoDB + Lambda:
    DynamoDB টেবিলে নতুন রেকর্ড ইনসার্ট হলে, Lambda ফাংশনটি সেই রেকর্ডের উপর কাজ করতে পারে, যেমন ডেটা যাচাই করা বা প্রক্রিয়া সম্পাদন করা।
  3. SNS + Lambda:
    যখন SNS (Simple Notification Service) এর মাধ্যমে কোনো বার্তা পাঠানো হয়, তখন Lambda ফাংশনটি সেই বার্তা হ্যান্ডল করে এবং প্রয়োজনীয় অ্যাকশন নেয়, যেমন মেইল পাঠানো বা ডেটাবেস আপডেট করা।
  4. SQS + Lambda:
    SQS (Simple Queue Service) থেকে বার্তা আসলে, Lambda ফাংশনটি সেই বার্তাটি প্রক্রিয়া করে। এটি সাধারণত অ্যাসিনক্রোনাস কাজের জন্য ব্যবহৃত হয়, যেখানে একাধিক বার্তা আসতে পারে এবং প্রতিটির জন্য আলাদাভাবে Lambda ফাংশন চালানো হয়।

ইভেন্ট-ড্রিভেন আর্কিটেকচারের সুবিধা

  1. স্বয়ংক্রিয় স্কেলিং:
    Lambda ফাংশন স্বয়ংক্রিয়ভাবে স্কেল হয়, যাতে ইভেন্টের সংখ্যা বাড়লে Lambda ফাংশনটি অতিরিক্ত রিসোর্স নিয়ে এক্সিকিউট হতে পারে।
  2. বাজারের চাহিদা অনুযায়ী অভিযোজন:
    ইভেন্ট-ড্রিভেন আর্কিটেকচারের মাধ্যমে প্রয়োজনীয় সময়েই কোড এক্সিকিউট হয়, যা প্রকৃত চাহিদার সাথে সঙ্গতিপূর্ণ এবং অতিরিক্ত খরচ থেকে বাঁচায়।
  3. কম খরচ:
    আপনি শুধু তখনই চার্জ করবেন, যখন আপনার কোড রান করছে, অর্থাৎ অব্যবহৃত সময়ের জন্য কোনো খরচ হবে না।
  4. নিরবচ্ছিন্ন কার্যক্ষমতা:
    ইভেন্ট-ড্রিভেন আর্কিটেকচারে, Lambda ইভেন্টের জন্য দ্রুত এবং নির্ভুল প্রতিক্রিয়া দেয়, যেটি অন্যান্য সিস্টেমের সাথে ভালভাবে একত্রিত হয়।

AWS Lambda এর ইভেন্ট-ড্রিভেন আর্কিটেকচার বিভিন্ন ধরনের ওয়েব অ্যাপ্লিকেশন, ডেটা প্রসেসিং, এবং অন্যান্য ইভেন্ট-ভিত্তিক কাজের জন্য একটি অত্যন্ত কার্যকরী এবং স্কেলেবল পদ্ধতি।

Content added By
Promotion

Are you sure to start over?

Loading...