গাইড

Rate Limiting কী? অ্যাপ builder-দের জন্য সহজ ভাষায় একটি গাইড

Rate limiting হলো এমন একটি নিয়ম যা একটি নির্দিষ্ট সময়ে কেউ একটি সিস্টেমে কতগুলো অনুরোধ করতে পারবে তার সীমা বেঁধে দেয়, যেমন প্রতি মিনিটে ৫টি লগইন চেষ্টা, বা প্রতি ঘণ্টায় ১০০টি API কল। সীমায় পৌঁছালে আরও অনুরোধ সময়সীমা রিসেট না হওয়া পর্যন্ত প্রত্যাখ্যান করা হয়, সাধারণত 429 Too Many Requests ত্রুটি কোড সহ। এটি অ্যাপকে অপব্যবহার থেকে রক্ষা করে, একজন ভারী ব্যবহারকারী সবার জন্য ধীর করে দিতে পারে না, এবং অনিয়ন্ত্রিত খরচ ঠেকায়।

আপনি rate limiting-এর দুটি দিক দেখেন: আপনি যে সেবাগুলো কল করেন সেগুলো আপনাকে সীমিত করে, আর আপনার নিজের অ্যাপের উচিত তার ব্যবহারকারীদের সীমিত করা।

AI দিয়ে বানানোর সময় rate limiting কেন গুরুত্বপূর্ণ

AI-বানানো অ্যাপ প্রায়ই পেইড সেবার সাথে যুক্ত হয়, যেমন AI মডেল, ইমেইল, SMS, ম্যাপ, এবং প্রতিটি কলের খরচ আছে। তাই rate limiting একই সাথে নিরাপত্তা ফিচার এবং বাজেট ফিচার।

  • খরচ নিয়ন্ত্রণ। আপনার অ্যাপে "AI-কে জিজ্ঞেস করুন" বক্স থাকে আর কোনো সীমা না থাকে, তবে একটি বট রাতারাতি হাজার হাজার অনুরোধ পাঠাতে পারে। প্রতিটির জন্য আপনাকে দাম দিতে হবে।
  • নিরাপত্তা। লগইন ফর্মে সীমা না থাকলে একজন আক্রমণকারী একটি অ্যাকাউন্টে হাজার হাজার পাসওয়ার্ড চেষ্টা করতে পারে। প্রতি মিনিটে কয়েকটি চেষ্টার সীমা সেটি অব্যবহার্য করে তোলে।
  • অনলাইনে থাকা। একটি ভুল আচরণকারী স্ক্রিপ্ট, কখনো আপনার নিজের কোড যা লুপে আটকে গেছে, আপনার ডেটাবেসকে ওভারলোড করে অ্যাপ বন্ধ করে দিতে পারে।
  • অন্য সেবার সীমা মেনে চলা। আপনার অ্যাপ বাইরের API-কে খুব ঘন ঘন কল করলে আপনি 429 ত্রুটি পান, এবং আপনার ব্যবহারকারীদের জন্য ফিচার ভেঙে যায়।

AI builder আপনি যা চান তা-ই বানায়। আপনি সীমার কথা না বললে সেটি প্রায়ই বাদ পড়ে যায়।

একটি দৈনন্দিন উপমা

একটি কফি শপের বিনামূল্যের রিফিল নীতির কথা ভাবুন: "প্রতি ভিজিটে প্রতি গ্রাহকের একটি বিনামূল্যের রিফিল।"

  • এটি কারও কফি উপভোগ করা থামায় না।
  • এটি একজন ব্যক্তিকে সারাদিন কাউন্টারে দাঁড়িয়ে পুরো অফিসের জন্য ফ্লাস্ক ভরা থেকে বাধা দেয়।
  • কেউ চতুর্থ রিফিল চাইলে বারিস্তা ভদ্রভাবে বলেন "এখন নয়" — সেটিই 429।

একটি ভালো rate limit সাধারণ গ্রাহকদের কাছে অদৃশ্য থাকে এবং শুধু অস্বাভাবিক কিছু করা কারও কাছেই ধরা পড়ে।

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

একটি rate limiter-এর তিনটি জিনিস লাগে:

অংশকোন প্রশ্নের উত্তর দেয়উদাহরণ
কেকার অনুরোধ গোনা হচ্ছে?প্রতি ব্যবহারকারী অ্যাকাউন্ট, প্রতি IP ঠিকানা, প্রতি API key
কতগুলোসীমা কত?৫, ৬০, ১,০০০ অনুরোধ
কোন সময়েকোন সময়সীমায়?প্রতি সেকেন্ড, মিনিট, ঘণ্টা, দিন

একটি অনুরোধ এলে অ্যাপ সেই "কে"-র গণনা দেখে। সীমার নিচে থাকলে অনুরোধ এগিয়ে যায় এবং গণনা বাড়ে। সীমা অতিক্রম করলে অনুরোধ প্রত্যাখ্যান করা হয়।

গণনার কয়েকটি সাধারণ উপায় আছে:

পদ্ধতিকীভাবে কাজ করেবিনিময়
ফিক্সড উইন্ডোঘড়ি ধরে গণনা রিসেট হয়, যেমন প্রতি মিনিটের শুরুতেসহজ, কিন্তু দুই উইন্ডোর সীমানায় হঠাৎ ঢল সম্ভব
স্লাইডিং উইন্ডোএখন থেকে শেষ ৬০ সেকেন্ড দেখেমসৃণ, হিসাব করতে একটু বেশি কাজ
টোকেন বাকেটপ্রতি ব্যবহারকারীর একটি বাকেট থাকে যা স্থির গতিতে ভরে; প্রতি অনুরোধ একটি টোকেন নেয়স্থির গড় ধরে রেখে স্বল্প ঢল অনুমোদন

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

সীমা অতিক্রম করা উত্তর কেমন দেখায়

কোনো অনুরোধ সীমা অতিক্রম করলে ভালো API এমন উত্তর দেয়:

  • স্ট্যাটাস কোড 429 Too Many Requests।
  • প্রায়ই একটি Retry-After হেডার, যা বলে কতক্ষণ অপেক্ষা করতে হবে।
  • কখনো হেডার যা আপনার সীমা এবং এই উইন্ডোতে কতগুলো বাকি আছে তা দেখায় (নাম প্রদানকারী অনুযায়ী ভিন্ন)।

আপনার অ্যাপের উচিত 429 পেলে অপেক্ষা করে পরে আবার চেষ্টা করা, আদর্শভাবে exponential backoff সহ, যেখানে প্রতিটি ব্যর্থ চেষ্টার পর আরও বেশি সময় অপেক্ষা করা হয় (১ সেকেন্ড, তারপর ২, তারপর ৪), সেবাটিকে বারবার আঘাত না করে।

একটি কাজের উদাহরণ: একটি AI লেখার সহায়ক

ধরুন আপনি এমন একটি অ্যাপ বানিয়েছেন যেখানে ব্যবহারকারী লেখা পেস্ট করেন এবং AI দিয়ে পুনর্লিখন পান।

সীমা ছাড়া: কেউ একটি স্ক্রিপ্ট লিখে রাতারাতি ২০,০০০ অনুরোধ পাঠায়। আপনার AI প্রদানকারীর বিল বাড়ে, এবং আপনার অ্যাকাউন্ট প্রদানকারীর নিজস্ব rate limit-এ পৌঁছে যায়, ফলে সকালে আসল ব্যবহারকারীরা ত্রুটি দেখেন।

যুক্তিসঙ্গত সীমা সহ:

  1. প্রতি সাইন-ইন করা ব্যবহারকারী: বিনামূল্যের প্ল্যানে প্রতি ঘণ্টায় ৩০টি পুনর্লিখন, পেইড প্ল্যানে ৩০০টি। সীমা অতিক্রম করলে ব্যবহারকারী দেখেন: "এই ঘণ্টার সীমায় পৌঁছেছেন। ১২ মিনিট পর আবার চেষ্টা করুন, বা আপগ্রেড করুন।"
  2. সাইন-আপ ফর্মে প্রতি IP ঠিকানা: প্রতি ঘণ্টায় ৫টি সাইন-আপ, যাতে বটরা ব্যবহারকারী-প্রতি সীমা এড়াতে হাজার হাজার বিনামূল্যের অ্যাকাউন্ট না খোলে।
  3. আপনার AI প্রদানকারীর ড্যাশবোর্ডে একটি খরচের সীমা, সবকিছু ব্যর্থ হলে শেষ প্রতিরক্ষা হিসেবে।
  4. প্রদানকারীর সীমা সামলানো: প্রদানকারী 429 দিলে আপনার সার্ভার একবার বা দুবার অপেক্ষা করে আবার চেষ্টা করে, তারপর একটি বন্ধুত্বপূর্ণ "ব্যস্ত, অনুগ্রহ করে আবার চেষ্টা করুন" বার্তা দেখায়।

সীমাগুলো সার্ভারে পরীক্ষা করা হয়। শুধু ব্রাউজারে থাকা সীমা, যেমন ৩০ ক্লিকের পর বোতাম নিষ্ক্রিয় করা, যে কেউ সরাসরি আপনার API কল করে এড়াতে পারে।

মূল শব্দাবলি

শব্দঅর্থ
Rate limitএকটি সময়সীমায় সর্বোচ্চ অনুমোদিত অনুরোধ।
Quotaবড় বরাদ্দ, প্রায়ই দৈনিক বা মাসিক, কখনো পেইড প্ল্যানের সাথে যুক্ত।
429"খুব বেশি অনুরোধ" বোঝানো HTTP স্ট্যাটাস কোড।
Retry-Afterকতক্ষণ অপেক্ষা করে আবার চেষ্টা করতে হবে তা বলা একটি উত্তর হেডার।
Throttlingসীমার বেশি অনুরোধ ধীর করা বা প্রত্যাখ্যান করা। প্রায়ই সমার্থক হিসেবে ব্যবহৃত।
Exponential backoffপুনরায় চেষ্টার মধ্যে ক্রমশ বেশি সময় অপেক্ষা করা।
Burstএকসাথে অনেক অনুরোধের স্বল্পস্থায়ী ঢল।
Brute-force attackকোনোটি কাজ না করা পর্যন্ত বিপুল সংখ্যক পাসওয়ার্ড বা কোড চেষ্টা করা।

সাধারণ ভুল ধারণা

  • "Rate limiting শুধু বড় অ্যাপের জন্য।" ছোট অ্যাপও লক্ষ্যবস্তু, কারণ বটরা খোলা ফর্ম ও AI endpoint-এর জন্য পুরো ইন্টারনেট স্ক্যান করে। অপব্যবহারের খরচ আপনার আকারের উপর নির্ভর করে না।
  • "বাটন লুকিয়ে রাখলেই যথেষ্ট।" ব্রাউজার-পাশের সীমা সৌজন্যমূলক, সুরক্ষা নয়। আসল সীমা সার্ভারে প্রয়োগ করতে হবে।
  • "IP-প্রতি সীমা সবসময় ন্যায্য।" অনেক মানুষ একটি IP ঠিকানা ভাগ করে, যেমন একটি অফিস, স্কুল বা মোবাইল নেটওয়ার্ক। ব্যবহারকারীরা সাইন-ইন করলে ব্যবহারকারী-প্রতি সীমা বেশি ন্যায্য।
  • "429 মানে সেবাটি ভেঙে গেছে।" এর মানে আপনি এটিকে খুব ঘন ঘন কল করছেন। আপনার কোডে লুপ খুঁজুন, এবং যে ফল খুব কমই বদলায় তা ক্যাশ করুন, দেখুন ক্যাশিং কী।
  • "Rate limiting একটি খরচের সীমার বদলি।" দুটোই ব্যবহার করুন। আপনার অ্যাপের সীমায় বাগ থাকতে পারে; প্রদানকারীর খরচের সীমা আপনার শেষ ভরসা।

আপনার AI builder-কে কী জিজ্ঞেস করবেন

  • "লগইন, সাইন-আপ, পাসওয়ার্ড রিসেট ও AI endpoint-এ সার্ভার-পক্ষ rate limiting যোগ করো। যুক্তিসঙ্গত সীমার পরামর্শ দাও।"
  • "প্রতি সাইন-ইন করা ব্যবহারকারীকে প্রতি ঘণ্টায় [N]টি AI অনুরোধে সীমাবদ্ধ করো, এবং সীমায় পৌঁছালে অপেক্ষার সময়সহ একটি স্পষ্ট বার্তা দেখাও।"
  • "বাইরের API 429 দিলে সর্বোচ্চ ৩ বার exponential backoff সহ আবার চেষ্টা করো, তারপর একটি বন্ধুত্বপূর্ণ ত্রুটি দেখাও।"
  • "Rate-limit কাউন্টার কোথায় সংরক্ষিত? অ্যাপ একাধিক মেশিনে চললেও কি কাজ করবে?"
  • "কেউ বা কোনো IP সীমায় পৌঁছালে লগ করো, যাতে আমি অপব্যবহার খুঁজে পাই।"
  • "এই অ্যাপ কোন বাইরের সেবাগুলো কল করে, এবং তাদের rate limit কত?"

Mythex-এ rate limiting

AI ফিচারের জন্য Mythex-এর ডকস এ বিষয়ে সরাসরি: আপনার বানানো অ্যাপের rate limit, নিরাপত্তা ও খরচ নিয়ন্ত্রণ আপনারই ডিজাইন করার বিষয় — দেখুন AI অ্যাপ বানানো। ফিচারের জন্য অনুরোধের একই বার্তায় এজেন্টকে সীমা যোগ করতে বলুন। Pro-তে ভারী ট্রাফিকের সময় একটি প্রকাশিত সেবা তিনটি মেশিন পর্যন্ত চলতে পারে (দেখুন হোস্টিং সীমা), তাই এমন কাউন্টার চান যা একটি সার্ভারের মেমরিতে নয়, ডেটাবেসে থাকে।

সম্পর্কিত পড়া: API কী, LLM API কীভাবে ব্যবহার করবেন এবং AI-বানানো অ্যাপের জন্য নিরাপত্তা চেকলিস্ট।

প্রশ্নোত্তর

সহজ ভাষায় rate limiting কী?

Rate limiting হলো এমন একটি নিয়ম যা একটি নির্দিষ্ট সময়ে একজন ব্যবহারকারী, ডিভাইস বা অ্যাপ কতগুলো অনুরোধ করতে পারবে তার সীমা বেঁধে দেয়, যেমন প্রতি মিনিটে ৫টি লগইন চেষ্টা বা প্রতি ঘণ্টায় ১০০টি API কল। সীমা অতিক্রম করা অনুরোধ সময়সীমা রিসেট না হওয়া পর্যন্ত প্রত্যাখ্যান করা হয়।

429 Too Many Requests ত্রুটির মানে কী?

HTTP স্ট্যাটাস 429 মানে আপনি খুব অল্প সময়ে অনেক বেশি অনুরোধ পাঠিয়েছেন এবং একটি rate limit-এ পৌঁছেছেন। উত্তরে প্রায়ই একটি Retry-After হেডার থাকে, যা বলে কতক্ষণ অপেক্ষা করতে হবে। সমাধান হলো গতি কমানো, একটু বিরতির পর আবার চেষ্টা করা, বা সেবাটিকে কতবার কল করা হয় তা কমানো।

আমার AI-চালিত অ্যাপের কেন rate limiting দরকার?

প্রতিটি AI অনুরোধ টোকেনের হিসেবে আপনার খরচ। সীমা না থাকলে একজন ব্যবহারকারী বা একটি বট হাজার হাজার অনুরোধ পাঠাতে পারে, বিল বিশাল হয়ে যেতে পারে বা প্রদানকারীর কোটা শেষ হয়ে যেতে পারে, ফলে সবার জন্য ফিচারটি বন্ধ হয়ে যায়। ব্যবহারকারী-প্রতি সীমা খরচকে অনুমানযোগ্য রাখে।

Rate limiting কি throttling-এর সমান?

এরা খুব কাছাকাছি এবং প্রায়ই একে অপরের পরিবর্তে ব্যবহৃত হয়। Rate limiting সাধারণত সীমার বেশি অনুরোধ প্রত্যাখ্যান করাকে বোঝায়, আর throttling মানে অনুরোধ ধীর করা বা সারিতে রাখাও হতে পারে, একেবারে না করে দেওয়ার বদলে।

Rate limiting কি DDoS আক্রমণ থামায়?

ছোট ফ্লাড এবং আলাদা আলাদা ব্যবহারকারী বা IP ঠিকানা থেকে অপব্যবহার ঠেকাতে এটি সাহায্য করে, কিন্তু বড় বিতরণকৃত আক্রমণ একসাথে অনেক ঠিকানা থেকে আসে। এর বিরুদ্ধে সুরক্ষা সাধারণত ট্রাফিক আপনার অ্যাপে পৌঁছানোর আগে নেটওয়ার্ক বা CDN স্তরে হয়।

Mythex · Pricing · AI দিয়ে যা খুশি বানান · ওয়েবসাইট ও অ্যাপের টেমপ্লেট · Mythex-এর তুলনা · AI অ্যাপ তৈরির শব্দকোষ · AI অ্যাপ তৈরির বিনামূল্যের টুল · English

English አማርኛ العربية Български Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)