Blogu

Tulikuwa Tunaweka Kikomo Huduma Zetu Wenyewe

API ya Mythex inaruhusu maombi 300 kwa dakika kutoka anwani moja ya mtandao. Kikomo hicho kipo kutulinda dhidi ya mtu mmoja au script moja inayopiga API mfululizo. Kwenye uzalishaji, kilianza kukataa huduma zetu wenyewe — sehemu ya edge yetu inayotoa apps zilizochapishwa, na huduma inayoendesha agent wa AI — kwa sababu kila moja inafikia API kutoka anwani chache tu. Maombi yanayobeba kitambulisho chetu cha ndani sasa yametolewa kwenye kikomo, na wengine wote wanawekewa kikomo kama hapo awali.

Dalili

API ilianza kujibu baadhi ya miito yetu ya ndani kwa 429 Too Many Requests. Aina tatu za miito ziliathirika, na kila moja ina umuhimu kwa mtu anayetumia Mythex:

  • Kutafuta ni app ipi iko kwenye domain maalum. Mgeni anapofungua app iliyochapishwa kwenye domain yake, edge yetu inauliza API tovuti hiyo iko wapi. 429 hapo ni mgeni asiyeweza kufika kwenye tovuti.
  • Kuhifadhi zamu ya agent inayoendelea. Wakati agent anafanya kazi, maendeleo yake yanahifadhiwa kadiri yanavyoenda, ili jibu lisipotee ukiburudisha ukurasa au muunganisho ukikatika. 429 hapo ni maendeleo ambayo hayakuhifadhiwa.
  • Kukagua ufikiaji wa preview. Preview ya app unayojenga inalindwa, na lango hilo linauliza API. 429 hapo ni preview isiyofunguka.

Hakuna hata mmoja kati ya hawa aliyekuwa mtu anayeita API. Wote walikuwa sisi.

Kwa nini ilitokea

Kikomo cha kwa kila anwani kinafanya dhana moja: anwani moja ni takriban mwitaji mmoja. Kwa watu, hiyo inatosha. Kwa miundombinu yetu wenyewe, si sahihi kabisa.

  • Huduma ya edge inayotoa apps zilizochapishwa na previews inafikia API kutoka anwani chache zilizoshirikiwa za kutoka. Kila mgeni wa kila app iliyochapishwa, na kila ukaguzi wa preview, unafika ukionekana umetoka kwenye anwani hizo chache.
  • Orchestrator — huduma inayoendesha zamu za agent — inafikia API kutoka anwani moja ya container. Kila zamu inayoendelea, kwa kila mtumiaji, inaishiriki.

Kwa hiyo bajeti iliyokusudiwa kwa mtu mmoja ilikuwa inagawanywa kati ya trafiki yote ya huduma nzima. Huduma hizo ziliimaliza kati yao, na kikomo kilifanya kile kilichoelekezwa: kikazikataa.

Suluhisho

Huduma zetu wenyewe tayari zinathibitisha zenyewe ni nani. Kila mwito wa ndani unabeba token ya ndani, na kila route chini ya sehemu ya ndani ya API inakagua token hiyo kabla ya kufanya chochote.

Kikomo sasa kinatumia ukaguzi huo huo. Ombi ambalo token yake inalingana na ile ya ndani liko kwenye orodha ya ruhusa na halihesabiwi dhidi ya bajeti ya kwa kila anwani. Kila kitu kingine kinahesabiwa kama kilivyokuwa: maombi 300 kwa dakika kwa kila anwani.

Maelezo mawili yaliuzuia kugeuka kuwa shimo:

  1. Token mbaya haipiti. Orodha ya ruhusa inalingana tu na token halisi ya ndani. Ombi lenye token ya kubuni linahesabiwa na kuzuiwa kama lingine lolote, na routes za ndani bado zinalikataa kwa 401 Unauthorized.
  2. Kikomo chenyewe hakikubadilika. Hatukuongeza namba ili kupata nafasi. Kuiongeza kungeficha tatizo hadi trafiki ikue tena, na kungedhoofisha ulinzi kwa kesi ambayo kikomo kipo kuilinda.

Tuliweka mipangilio ya kikomo kwenye kazi moja ndogo na kuandika majaribio dhidi yake. Moja linatuma maombi 20 yenye token ya ndani kwa kikomo kilichowekwa kuruhusu 5, na linatarajia yote 20 yafanikiwe. Jingine linatuma maombi ya kawaida kutoka anwani moja na linatarajia matano ya kwanza yafanikiwe na yanayofuata yakataliwe. La tatu linatuma maombi yenye token bandia na linatarajia yakataliwe kwa namna ile ile.

Tulichojifunza

  • Vikomo vina dhana ndani yake. “Anwani moja, mwitaji mmoja” imejengwa ndani ya kikomo cha kwa kila anwani. Inaacha kuwa kweli mara huduma zako wenyewe zinapokaa nyuma ya anwani zilizoshirikiwa — na nyingi zinakaa: load balancers, mitandao ya edge, containers, mitandao ya ofisi.
  • Tofautisha trafiki yako wenyewe kwa utambulisho, si kwa anwani. Anwani ni jinsi trafiki inavyofika, si nani aliyeituma. Tayari tulikuwa na kitambulisho kinachothibitisha kwamba mwito ni wetu; kikomo kilikuwa hakikiangalii tu.
  • Usirekebishe kwa kuongeza namba. Kikomo kikubwa kingeondoa 429 kwa muda, kingelinda kidogo, na kingeshindwa tena baadaye.
  • Angalia nani anazuiwa. 429 inayotua kwenye huduma yako mwenyewe ni ripoti ya hitilafu kuhusu vikomo vyako, si ishara kwamba kikomo kinafanya kazi.

Maana yake kwako ikiwa unajenga kwenye Mythex

Hakuna kinachohitaji kubadilishwa upande wako. Apps zilizochapishwa kwenye domain maalum, zamu za agent na previews hazitegemei tena jinsi Mythex nzima ilivyo na shughuli nyingi. Trafiki ya app yako ni biashara ya app yako: kikomo kilichoelezwa hapa kipo kwenye API yetu, si kwenye apps unazochapisha.

Ikiwa unaendesha backend yako mwenyewe, mtego uleule unahusu kikomo chochote unachoongeza. Miongozo yetu ya API ni nini na orodha ya usalama kwa apps zilizojengwa kwa AI ni mahali pazuri pa kuanzia. Na kwa mfano mwingine wa miundombinu yetu yenyewe kujizuia, angalia jinsi tulivyofikia makosa 502 sifuri kwenye deploy.

Mythex · Pricing · Jenga chochote kwa AI · Violezo vya tovuti na programu · Mythex ikilinganishwa · Kamusi ya istilahi za kujenga programu kwa AI · Zana za bure za kujenga programu kwa 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 தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)