Гарын авлагууд

Rate limiting гэж юу вэ? Аппликейшн бүтээгчдэд зориулсан энгийн гарын авлага

Rate limiting бол тодорхой хугацаанд хэн нэгэн системд хэдэн хүсэлт илгээж болохыг хязгаарладаг дүрэм юм — жишээ нь минутанд 5 нэвтрэх оролдлого, эсвэл цагт 100 API дуудлага. Хязгаарт хүрсний дараа цаашид ирсэн хүсэлтийг хугацааны цонх шинэчлэгдэх хүртэл татгалзана (ихэвчлэн 429 Too Many Requests алдааны кодтойгоор). Энэ нь аппликейшныг урвуулгаас хамгаалж, нэг хүнд их ачаалал өгсөн нь бусдыг удаашруулахаас сэргийлж, хяналтгүй зардлыг зогсооно.

Rate limiting-ийг хоёр талаас нь тааралдана: таны дуудаж буй үйлчилгээнүүд таныг хязгаарлана, харин таны өөрийн аппликейшн хэрэглэгчдээ хязгаарлах ёстой.

AI-аар бүтээхэд rate limiting яагаад чухал вэ

AI-аар бүтээсэн аппликейшнүүд ихэвчлэн төлбөртэй үйлчилгээнд холбогддог — AI загвар, имэйл, SMS, газрын зураг — мөн дуудлага бүр мөнгө зардаг. Иймд rate limiting нь аюулгүй байдлын болон төсвийн онцлог юм.

  • Зардлын хяналт. Таны аппликейшнд «AI-гээс асуух» талбар байгаа бөгөөд хязгаар байхгүй бол бот шөнөдөө мянга мянган хүсэлт илгээж болно. Тэр бүрийг та төлнө.
  • Аюулгүй байдал. Нэвтрэх маягт дээр хязгаар байхгүй бол халдагч нэг бүртгэлд мянга мянган нууц үг туршиж болно. Минутанд хэдхэн оролдлого гэсэн хязгаар үүнийг боломжгүй болгодог.
  • Онлайн байлгах. Нэг буруу ажиллаж буй скрипт — заримдаа таны өөрийн код давтагдах цикл дотор гацсан — өгөгдлийн сангаа хэтрүүлж, аппаа унагаж болно.
  • Бусад үйлчилгээний хязгаарыг хүндэтгэх. Таны аппликейшн гадны API-г хэт олон дуудвал таньд 429 алдаа ирж, таны хэрэглэгчдэд онцлог эвдэрнэ.

AI бүтээгч таны хүссэн зүйлийг бүтээнэ. Хэрэв та хязгаарын тухай дурдаагүй бол тэр ихэвчлэн орхигддог.

Өдөр тутмын жишээ

Кофены дэлгүүрийн «үнэгүй дахин цай» журмыг төсөөлөөрэй: «Үйлчлүүлэгч бүр зочлох бүрт нэг удаа үнэгүй дахин авна.»

  • Энэ нь хэн ч кофе уухыг хориглодоггүй.
  • Энэ нь нэг хүнийг өдөржин харанхуй дээр зогсоод бүх оффисынхоо термосыг дүүргэхээс сэргийлдэг.
  • Хэн нэгэн дөрөв дахь удаагаа авах гэхэд бариста эелдэгхэн «одоохондоо боломжгүй» гэж хэлнэ — энэ бол 429.

Сайн rate limit нь энгийн үйлчлүүлэгчдэд харагдахгүй, харин ер бусын зүйл хийж буй хүнд л мэдэгдэгддэг.

Rate limiting хэрхэн ажилладаг вэ

Rate limiter-д гурван зүйл хэрэгтэй:

ХэсэгЯмар асуултад хариулдаг вэЖишээ
ХэнЧиний хүсэлтийг хэн тоолж байна вэ?Хэрэглэгчийн бүртгэл тус бүр, IP хаяг, API түлхүүр
ХэдэнХязгаар хэд вэ?5, 60, 1,000 хүсэлт
Ямар хугацаандЯмар цонхонд?Секунд, минут, цаг, өдөр тус бүрээр

Хүсэлт ирэх үед аппликейшн тэр «хэн»-ийн тооллыг шалгана. Хязгаараас доош бол хүсэлт дамжина, тоо нэмэгдэнэ. Хязгаараас дээш бол хүсэлтийг татгалзана.

Тоолох хэдэн түгээмэл арга байдаг:

АргаХэрхэн ажилладагСолилцоо
Тогтсон цонхТоолуур цагийн дагуу шинэчлэгддэг — жишээ нь минут бүр минутын эхэндЭнгийн, гэхдээ хоёр цонхны уулзвар дээр оргилд хүргэж болно
Гулсах цонхЯг одоо-оос сүүлийн 60 секундыг харнаЖигд, тооцоолоход арай илүү ажил
Token bucketХэрэглэгч бүр тогтмол хурдаар дүүрдэг сав тэй; хүсэлт бүр нэг токен авнаБогино оргилд зөвшөөрч, дундаж нь тогтмол байлгана

Тооллыг хурдан, хуваалцсан газар хадгалах хэрэгтэй. Нэг жижиг серверт санах ой хангалттай. Аппликейшн хэд хэдэн машин дээр ажиллаж эхлэхэд тоолуур ихэвчлэн Redis эсвэл өгөгдлийн сан шиг хуваалцсан санд байрлана, эс тэгвээс машин бүр тусдаа тоолж, бодит хязгаар хэдэн дахин өндөр болно.

Rate limit-д хүрсэн хариу ямар харагддаг вэ

Хязгаараас хэтэрсэн үед сайн API ингэж хариулна:

  • 429 Too Many Requests статус код.
  • Ихэвчлэн Retry-After толгой, хэдэн секунд хүлээхийг заана.
  • Заримдаа таны хязгаар болон энэ цонхонд үлдсэн хүсэлтийг харуулсан толгойнууд (нэрс үйлчилгээ тус бүрт өөр байдаг).

Аппликейшн 429-д хариулахдаа хүлээж дараа нь дахин оролдох ёстой — тохиромжтой нь exponential backoff, энэ нь алдаа бүрийн дараа арай урт хүлээх гэсэн үг (1 секунд, дараа нь 2, дараа нь 4), үйлчилгээг дахин дахин цохихын оронд.

Жишээ ажил: AI бичих туслах

Хэрэглэгчид текст буулгаж, AI-аас дахин бичсэн хувилбар авдаг аппликейшн бүтээсэн гэж бодъё.

Хязгааргүй бол: хэн нэгэн шөнөдөө 20,000 хүсэлт илгээх скрипт бичнэ. AI үйлчилгээгчийн төлбөр огцом өснө, мөн таны данс үйлчилгээгчийн өөрийн rate limit-д хүрч, жинхэнэ хэрэглэгчид өглөөжин алдаа харна.

Ухаалаг хязгаартай бол:

  1. Нэвтэрсэн хэрэглэгч бүрт: үнэгүй төлөвлөгөөнд цагт 30 дахин бичих, төлбөртэйд 300. Хязгаараас хэтэрвэл хэрэглэгч ингэж харна: «Энэ цагийн хязгаарт хүрлээ. 12 минутын дараа дахин оролдоно уу, эсвэл дээшлүүлнэ үү.»
  2. Бүртгүүлэх маягтын IP хаяг бүрт: цагт 5 бүртгэл, хэрэглэгч бүрийн хязгаарыг тойрохын тулд боломжийн дагуу мянга мянган үнэгүй бүртгэл үүсгэхийг ботуудаас сэргийлэх.
  3. Зардлын дээд хязгаар AI үйлчилгээгчийнхээ удирдлагын самбарт тохируулсан бөгөөд бусад бүх зүйл бүтэлгүйтвэл сүүлийн хамгаалалт.
  4. Үйлчилгээгчийн хязгаарыг зохицуулах: хэрэв AI үйлчилгээ 429 буцаавал таны сервер хүлээж нэг эсвэл хоёр удаа дахин оролдоно, дараа нь «завгүй байна, дахин оролдоно уу» гэсэн эелдэг мессеж харуулна.

Хязгаарыг серверт шалгана. Зөвхөн хөтөч дээр байдаг хязгаар — жишээ нь 30 товшилтын дараа товчийг идэвхгүй болгох — хэн ч таны API-г шууд дуудвал тойрч болно.

Гол нэр томьёо

Нэр томьёоУтга
Rate limitЦонхонд зөвшөөрөх хүсэлтийн дээд тоо.
КвотИхэвчлэн өдөр эсвэл сараар өгөх илүү том хэмжээ, заримдаа төлбөртэй төлөвлөгөөтэй холбоотой.
429«Хэт олон хүсэлт» гэсэн HTTP статус код.
Retry-AfterДахин оролдохоосоо өмнө хэдэн секунд хүлээхийг заасан хариуны толгой.
ThrottlingХязгаараас хэтэрсэн хүсэлтийг удаашруулах эсвэл татгалзах. Ихэвчлэн ижил утгаар хэрэглэдэг.
Exponential backoffДахин оролдлогын хооронд аажмаар урт хүлээх.
BurstНэг зэрэг олон хүсэлтийн богино оргил.
Brute-force халдлагаНэг нь таарах хүртэл маш олон нууц үг эсвэл код туршиж үзэх.

Түгээмэл буруу ойлголт

  • «Rate limiting зөвхөн том аппликейшнд хэрэгтэй.» Жижиг аппликейшн ч бай онилогддог, учир нь ботууд нээлттэй маягт болон AI endpoint-уудыг интернэтээр хайдаг. Урвуулгын зардал таны хэмжээнээс хамаардаггүй.
  • «Товчийг нуух хангалттай.» Хөтчийн талын хязгаар бол хамгаалалт биш, зөвхөн эелдэг зан. Жинхэнэ хязгаарыг серверт хэрэгжүүлэх ёстой.
  • «IP-д суурилсан хязгаар үргэлж шударга.» Олон хүн нэг IP хаягийг хуваалцдаг — оффис, сургууль, гар утасны сүлжээ. Хүмүүс нэвтэрсний дараа хэрэглэгч тус бүрийн хязгаар илүү шударга.
  • «429 гэдэг нь үйлчилгээ эвдэрсэн гэсэн үг.» Энэ нь та хэт олон удаа дуудаж байна гэсэн үг. Кодоо давталтад шалга, өөрчлөгддөггүй үр дүнг кэшлэ — кэш гэж юу вэ гэсэн хуудсыг үзнэ үү.
  • «Rate limiting зардлын дээд хязгаарыг орлоно.» Хоёуланг нь ашигла. Аппын хязгаарт алдаа гарч болно; үйлчилгээгчийн зардлын дээд хязгаар бол таны сүүлийн хамгаалалт.

AI бүтээгчээсээ юу асуух вэ

  • «Нэвтрэх, бүртгүүлэх, нууц үг сэргээх, AI endpoint дээр серверийн талын rate limiting нэм. Ухаалаг хязгаарууд санал болго.»
  • «Нэвтэрсэн хэрэглэгч бүрийг цагт [N] AI хүсэлтээр хязгаарла, хязгаарт хүрэхэд хүлээх хугацаатай тодорхой мессеж харуул.»
  • «Гадны API 429 буцаавал цагт 3 удаа хүртэл exponential backoff-оор дахин оролд, дараа нь эелдэг алдааны мессеж харуул.»
  • «Rate-limit тоолуурууд хаана хадгалагдаж байна вэ? Аппликейшн хэд хэдэн машин дээр ажиллавал тэд үргэлжлүүлэн ажиллах уу?»
  • «Хэрэглэгч эсвэл IP хязгаарт хүрэх бүрийг бүртгэ, ингэснээр урвууг олж харж болно.»
  • «Энэ аппликейшн ямар гадны үйлчилгээг дуудаж байгаа вэ, тэдний rate limit хэд вэ?»

Rate limiting Mythex дээр

Mythex-ийн docs AI онцлогийн хувьд энэ талаар шууд хэлдэг: таны бүтээсэн аппликейшн дэх rate limit, аюулгүй байдал, зардлын хяналтыг өөрөө зохион бүтээх ёстой — үзэх: AI аппликейшн бүтээх. Боломж хүсэх мессежтэйгээ нэг дор хязгаар нэмэхийг агентаас хүс. Pro дээр нийтлэгдсэн үйлчилгээ ачаалал их үед гурван машин хүртэл ажиллаж чадна (үзэх: Хостингийн хязгаар), тиймээс нэг серверийн санах ойд биш өгөгдлийн санд амьдардаг тоолуур хүс.

Холбоотой уншлага: API гэж юу вэ, LLM API-уудыг хэрхэн ашиглах вэ, мөн AI-аар бүтээсэн аппликейшнд зориулсан аюулгүй байдлын жагсаалт.

Асуултууд

Rate limiting энгийнээр юу вэ?

Rate limiting бол тодорхой хугацаанд хэрэглэгч, төхөөрөмж эсвэл аппликейшн хэдэн хүсэлт илгээж болохыг хязгаарладаг дүрэм юм. Жишээ нь минутанд 5 нэвтрэх оролдлого эсвэл цагт 100 API дуудлага. Хязгаараас хэтэрсэн хүсэлтүүдийг цонх шинэчлэгдэх хүртэл татгалзана.

429 Too Many Requests алдаа юу гэсэн үг вэ?

HTTP статус 429 нь богино хугацаанд хэт олон хүсэлт илгээж, rate limit-д хүрснийг илэрхийлнэ. Хариунд ихэвчлэн хүлээх хугацааг заасан Retry-After толгой мэдээлэл байдаг. Засах арга нь удаашруулах, түр хүлээгээд дахин оролдох, эсвэл аппаасаа үйлчилгээг дуудах давтамжийг бууруулах.

AI-д суурилсан аппликейшндаа яагаад rate limiting хэрэгтэй вэ?

AI хүсэлт бүр таны токенээр мөнгө зардаг. Хязгаар байхгүй бол нэг хэрэглэгч эсвэл бот мянга мянган хүсэлт илгээж, том төлбөр үүсгэх эсвэл 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 简体中文 繁體中文(香港) 繁體中文(台灣)