কম্পিউটার টিউটোরিয়াল

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

n8n হল একটি শক্তিশালী ওয়ার্কফ্লো অটোমেশন টুল যা আপনাকে বিভিন্ন পরিষেবা সংযুক্ত করতে এবং জটিল প্রক্রিয়াগুলিকে স্বয়ংক্রিয় করতে দেয়৷

কিন্তু যখন আপনার ওয়ার্কফ্লো অনেক বেশি অনুরোধ পেতে শুরু করে তখন কী হয়? সঠিক হার সীমাবদ্ধ না করে, আপনি আপনার API গুলিকে আচ্ছন্ন করতে পারেন, বহিরাগত পরিষেবা সীমাতে আঘাত করতে পারেন, বা এমনকি আপনার কর্মপ্রবাহ ক্র্যাশ করতে পারেন৷

এই পোস্টে, আমরা আপনাকে দেখাব কিভাবে Upstash Redis ব্যবহার করে আপনার n8n ওয়ার্কফ্লোতে সীমিত শক্তিশালী হার যোগ করতে হয় .

আপনার প্রয়োজন মেটাতে সহজ, কার্যকরী এবং এক্সটেনসিবল।

চ্যালেঞ্জ:n8n ওয়ার্কফ্লোস রক্ষা করা

n8n ওয়ার্কফ্লো তৈরি করার সময় যা বাহ্যিক অনুরোধগুলি পরিচালনা করে (যেমন ওয়েবহুক বা API এন্ডপয়েন্ট), আপনাকে বিবেচনা করতে হবে:

  • API অপব্যবহার প্রতিরোধ৷ :দূষিত ব্যবহারকারীদের আপনার কর্মপ্রবাহকে অপ্রতিরোধ্য করা বন্ধ করুন
  • বাহ্যিক পরিষেবা সুরক্ষা৷ :তৃতীয় পক্ষের API-এর সম্মান হারের সীমা
  • সম্পদ ব্যবস্থাপনা :আপনার কর্মপ্রবাহকে অত্যধিক সম্পদ গ্রহণ করা থেকে বিরত রাখুন
  • খরচ নিয়ন্ত্রণ :অতিরিক্ত API কল থেকে অপ্রত্যাশিত চার্জ এড়িয়ে চলুন

Upstash Redis এবং n8n-এর জন্য ধন্যবাদ, আপনি মাত্র কয়েকটি নোডের সাথে একটি হার-সীমিত ব্যবস্থা প্রয়োগ করতে পারেন। এছাড়াও আপনি Upstash Redis-এর সমস্ত সুবিধা থেকে উপকৃত হবেন (ডক্স দেখুন)।

n8n এ Upstash Redis দিয়ে শুরু করা

আমরা বাস্তবায়নে ডুব দেওয়ার আগে, আপনার Upstash Redis অ্যাকাউন্টটি n8n-এ Redis নোডের সাথে সংযুক্ত করুন। আমরা এই নির্দেশিকা জুড়ে এই সেটআপটি ব্যবহার করব। (Upstash Redis-এর সাথে n8n দেখুন)

দর সীমিত কর্মপ্রবাহ তৈরি করা

চলুন শুরু করা যাক ইমপ্লিমেন্টেশন দিয়ে, এক এক করে নোডের মধ্য দিয়ে যাওয়া।

হ্যাঁ, এটা ততটাই সহজ:

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ধাপ 1:ওয়েবহুক ট্রিগার

একটি মৌলিক ওয়েবহুক দিয়ে শুরু করুন নোড আগত অনুরোধের জন্য এটি আমাদের মক এন্ট্রি পয়েন্ট হবে৷

ডিফল্ট সেটিংস দিয়ে এটি সেট আপ করুন; আমরা এটি পরীক্ষার জন্য ব্যবহার করব:

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ধাপ 2:নোড দেখুন

এখন, একটি সম্পাদনা ক্ষেত্র তৈরি করুন৷ নোড এই নোড ফর্ম্যাটে Redis কী নাম সংরক্ষণ করেUSER_IP:REQUEST_MINUTE . আপনি আপনার প্রয়োজন মেটাতে বিন্যাস পরিবর্তন করতে পারেন. আমাদের উদাহরণে, আমরা IP-ভিত্তিক হার সীমাবদ্ধতা ব্যবহার করছি, এবং প্রতি মিনিটে হারের সীমা প্রযোজ্য।

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ধাপ 3:ইনক্রিমেন্ট অ্যাকশন সহ রিডিস নোড

একটি Redis তৈরি করুন৷ উপরে উল্লিখিত হিসাবে Upstash Redis এর সাথে সংযুক্ত নোড। এখানে আমরা Redis কী হিসাবে পূর্ববর্তী ধাপে যে ক্ষেত্রটি সেট করেছি তা ব্যবহার করি। ইনক্রিমেন্ট অ্যাকশনের সাথে, এই কীটি প্রথম অনুরোধে তৈরি করা হয় এবং পরবর্তী অনুরোধে একটি দ্বারা বৃদ্ধি করা হয়।

TTL 60 এ সেট করুন যাতে কী এক মিনিটের মধ্যে অদৃশ্য হয়ে যায়, স্থান খালি করে।

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

পদক্ষেপ 4:যদি শর্তসাপেক্ষ প্রতিক্রিয়া সহ নোড

একটি IF যোগ করুন অনুমোদিত বনাম অবরুদ্ধ অনুরোধগুলি পরিচালনা করার জন্য নোড। আবার, আমরা ধাপ 2 যে ক্ষেত্রটি সেট করেছি সেটি ব্যবহার করুন একটি JSON প্যারামিটার হিসাবে ধাপ 3 এর ফলাফল আনতে . এই ফলাফল হল একজন ব্যবহারকারী আমাদের শেষ পয়েন্টে কতবার অনুরোধ পাঠিয়েছে তার গণনা। আমাদের উদাহরণে, আমরা 4টি অনুরোধের অনুমতি দিই এবং পরবর্তী মিনিট পর্যন্ত ব্লক করি৷

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ধাপ 5.1:সাফল্যের প্রতিক্রিয়া

যদি হারের সীমা অতিক্রম না হয়, আপনি ব্যবহারকারীকে আপনার শেষ পয়েন্টে কল করতে দিতে পারেন। এই চেকের পিছনে আপনার আসল যুক্তি রাখুন যাতে এটি অভিভূত না হয় বা অপব্যবহার না হয়।

পরীক্ষার উদ্দেশ্যে, আমরা একটি সহজ সাফল্যের বার্তা ফেরত দিই।

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ধাপ 5.2:ব্যর্থ প্রতিক্রিয়া

একবার সীমা ছাড়িয়ে গেলে, অনুরোধগুলি ব্লক করা হয়৷

পরীক্ষার উদ্দেশ্যে, আমরা একটি সাধারণ ব্যর্থতার বার্তা ফেরত দিই৷

আপনার n8n ওয়ার্কফ্লোগুলি সুরক্ষিত করুন:Upstash Redis এর সাথে রেট লিমিটিং যোগ করুন

ওয়ার্কফ্লো পরীক্ষা করুন

GET পাঠান ওয়েবহুকে সংজ্ঞায়িত URL-এর অনুরোধ।

এক মিনিটের মধ্যে, প্রথম 4টি অনুরোধ পাসের পথ অনুসরণ করে, যখন পরবর্তী অনুরোধগুলি ব্লক করা হয় এবং সীমা পথ অনুসরণ করে।

এটাই — আপনি সফলভাবে n8n-এ হার সীমিতকরণ কার্যকর করেছেন!

কাস্টমাইজেশন এবং উন্নতি

এই মৌলিক বাস্তবায়ন আপনাকে একটি শক্ত ভিত্তি দেয় যা আপনার নির্দিষ্ট প্রয়োজনের উপর ভিত্তি করে সহজেই কাস্টমাইজ করা এবং উন্নত করা যেতে পারে:

সময় উইন্ডো সামঞ্জস্য

  • ঘন্টা সীমা :প্রতি ঘণ্টার হার সীমিত করার জন্য TTL 3600 সেকেন্ডে পরিবর্তন করুন
  • দৈনিক সীমা :দৈনিক অনুরোধের সীমার জন্য TTL 86400 সেকেন্ডে সেট করুন
  • কাস্টম উইন্ডোজ :আপনার ব্যবহারের ক্ষেত্রে মানানসই যে কোনো সময়কালের সাথে TTL সামঞ্জস্য করুন

বিভিন্ন সীমাবদ্ধ করার কৌশল

  • ব্যবহারকারী-ভিত্তিক সীমাবদ্ধতা :Authorization থেকে ব্যবহারকারী আইডি ব্যবহার করুন প্রমাণীকৃত অনুরোধের জন্য IP ঠিকানার পরিবর্তে হেডার
  • API এন্ডপয়েন্ট নির্দিষ্ট :সম্পদের প্রয়োজনীয়তার উপর ভিত্তি করে বিভিন্ন প্রান্তের জন্য বিভিন্ন সীমা।
  • ভৌগলিক সীমাবদ্ধতা :X-Forwarded-For ব্যবহার করে দেশ বা অঞ্চল অনুসারে হারের সীমা অথবা CF-IPCountry হেডার

ত্রুটি হ্যান্ডলিং

  • মেকানিজম পুনরায় চেষ্টা করুন :Upstash Redis ডিফল্টরূপে এটি প্রদান করে।
  • সার্কিট ব্রেকার প্যাটার্ন :Redis ব্যর্থ হলে সাময়িকভাবে হার সীমিতকরণ অক্ষম করুন

পর্যবেক্ষণ এবং বিশ্লেষণ

  • রিয়েল-টাইম ড্যাশবোর্ড :আপস্ট্যাশ কনসোলে
  • হার সীমা হিট এবং লঙ্ঘন নিরীক্ষণ করুন
  • ব্যবহারের ধরণ :সীমা অপ্টিমাইজ করতে অনুরোধের ধরণগুলি বিশ্লেষণ করুন
  • সতর্কতা সিস্টেম :অস্বাভাবিক ট্রাফিক স্পাইকের জন্য বিজ্ঞপ্তি সেট আপ করুন
  • পারফরম্যান্স মেট্রিক্স :ট্র্যাক প্রতিক্রিয়া সময় এবং সিস্টেম স্বাস্থ্য

উপসংহার

এই অ্যালগরিদমের সৌন্দর্য হল এর সরলতা এবং প্রসারণযোগ্যতা। আপনি মৌলিক আইপি-ভিত্তিক সীমাবদ্ধতা দিয়ে শুরু করতে পারেন এবং ধীরে ধীরে অত্যাধুনিক বৈশিষ্ট্যগুলি যোগ করতে পারেন যেমন ব্যবহারকারীর প্রমাণীকরণ, টায়ার্ড সীমা, এবং আপনার চাহিদার বিকাশের সাথে সাথে উন্নত পর্যবেক্ষণ।

Upstash Redis এর শক্তিশালী ক্ষমতার সাথে একত্রিত n8n ওয়ার্কফ্লো অটোমেশন প্ল্যাটফর্ম আপনাকে আপনার নির্দিষ্ট প্রয়োজনীয়তা অনুসারে শক্তিশালী, মাপযোগ্য হার সীমিত সমাধান তৈরি করার সীমাহীন সম্ভাবনা দেয়।

আরও পড়া

রেট লিমিটিং এবং n8n এর মধ্যে আরও গভীরে যেতে চান? এই সম্পদগুলি দেখুন:

  • Upstash Redis
  • n8n
  • অ্যালগরিদম

  1. ডেটা স্ট্রাকচারে অ্যারে প্রতিনিধিত্বের অ্যারে

  2. Redis ZCOUNT - কিভাবে স্কোর পরিসীমা অনুসারে সাজানো উপাদানের সংখ্যা পেতে হয়

  3. জাভাস্ক্রিপ্টে বর্তমান সময়কে অন্য কোনো সময়ে কীভাবে সেট করবেন?

  4. CSS ব্যবহার করে কার্সারের চেহারা পরিবর্তন করা