𝟱 𝗠𝗮𝗸𝗼𝘀𝗶 𝘆𝗮 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗡𝗶𝗹𝗶𝘆𝗼𝗳𝗮𝗻𝘆𝗮 𝗻𝗮 𝗘𝘅𝗽𝗿𝗲𝘀𝘀 𝗔𝗣𝗜𝘀
APIs haziharibiki kwa sababu ya kodi tata.
Zinaharibika kwa sababu unapuuzia maelezo madogo madogo ya kuchosha.
Nilijifunza masomo haya matano kutoka kwa makosa halisi ya production.
- Hakiki data mapema
Nilikuwa nikihakiki data ndani ya business logic yangu. Hii ilisababisha bugs mbali na chanzo.
Sasa ninakataa maombi (requests) mabaya mara moja.
Ikiwa ombi halina barua pepe halali, rudisha kosa la 400 mara moja. Usiruhusu data mbaya ifike kwenye logic yako kuu.
- Tumia kodi za makosa mahususi
Kosa la jumla la 500 halimsaidii mtu yeyote.
Ikiwa API key imefeli, rudisha kosa la 401. Ikiwa mtumiaji hana salio (credits), rudisha kosa la 402.
Ikiwa unahitaji kuelezea kosa kwenye Slack, ujumbe wako wa API umefeli.
- Angalia mpangilio wa middleware yako
Nilitumia saa nyingi kufanya debugging ya matatizo ya authentication. Tatizo lilikuwa tu mpangilio wa middleware yangu.
Fuata mpangilio huu:
- CORS kwanza
- JSON parsing pili
- Authentication tatu
- Routes mwisho
Mstari mmoja tu usio sahihi unaharibu kila kitu.
- Log data sahihi
Nilijaribu mitindo mingi ya logging. Mengi yalikuwa hayana faida.
Kwa ufuatiliaji wa kawaida, log method, path, na status code.
Kwa makosa, log request ID, ujumbe wa kosa, na stack trace.
Kitu kingine chochote ni kelele tu unapozinduka saa tisa usiku (3 AM).
- Weka rate limits
Niliona endpoint ikishambuliwa kwa nguvu kiasi kwamba iligharimu pesa halisi.
API bila mipaka inategemea matumaini. Matumaini si mkakati wa usalama.
Tumia express-rate-limit kulinda seva yako.
Failures nyingi za API zinatokana na kupuuza mambo ya msingi.
Production haijali mipango yako. Inajali tu mipangilio (setup) yako.
Chanzo: https://dev.to/manolito99/5-production-mistakes-that-changed-how-i-build-express-apis-133e