𝟱 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗠𝗶𝘀𝘁𝗮𝗸𝗲𝘀 𝗜 𝗠𝗮𝗱𝗲 𝗪𝗶𝘁𝗵 𝗘𝘅𝗽𝗿𝗲𝘀𝘀 𝗔𝗣𝗜𝘀

சிக்கலான குறியீடுகளால் (complex code) APIs உடைந்துவிடுவதில்லை.

நீங்கள் சலிப்பூட்டும் விவரங்களைப் புறக்கணிப்பதாலேயே அவை உடைந்துவிடுகின்றன.

உண்மையான production பிழைகளிலிருந்து நான் இந்த ஐந்து பாடங்களைக் கற்றுக்கொண்டேன்.

  1. தரவை ஆரம்பத்திலேயே சரிபார்க்கவும் (Validate data early)

நான் எனது business logic-க்குள் தரவைச் சரிபார்க்கும் பழக்கம் கொண்டிருந்தேன். இது மூலத்திலிருந்து வெகு தொலைவில் பிழைகளை (bugs) ஏற்படுத்தியது.

இப்போது நான் தவறான கோரிக்கைகளை (bad requests) உடனடியாகத் தடுத்துவிடுகிறேன்.

ஒரு கோரிக்கையில் சரியான மின்னஞ்சல் இல்லையென்றால், உடனடியாக 400 error-ஐத் திருப்பி அனுப்பவும். தவறான தரவு உங்கள் முக்கிய logic-ஐ அடைய அனுமதிக்காதீர்கள்.

  1. குறிப்பிட்ட error codes-களைப் பயன்படுத்தவும் (Use specific error codes)

ஒரு பொதுவான 500 error யாருக்கும் உதவாது.

ஒரு API key தோல்வியடைந்தால், 401 error-ஐத் திருப்பி அனுப்பவும். பயனரிடம் credits இல்லையென்றால், 402 error-ஐத் திருப்பி அனுப்பவும்.

Slack-இல் ஒரு பிழையை நீங்கள் விளக்க வேண்டியிருந்தால், உங்கள் API செய்தி தோல்வியடைந்துவிட்டது என்று அர்த்தம்.

  1. உங்கள் middleware வரிசையைச் சரிபார்க்கவும் (Check your middleware order)

authentication சிக்கல்களைத் தீர்க்க நான் பல மணிநேரம் செலவிட்டேன். பிரச்சனை எனது middleware-ன் வரிசையில் மட்டுமே இருந்தது.

இந்த வரிசையைப் பின்பற்றவும்:

ஒரு தவறான வரிசை அனைத்தையும் உடைத்துவிடும்.

  1. சரியான தரவை Log செய்யவும் (Log the right data)

நான் பல logging முறைகளை முயற்சி செய்தேன். அவற்றில் பெரும்பாலானவை பயனற்றவை.

வழக்கமான கண்காணிப்பிற்கு (standard tracking), method, path மற்றும் status code ஆகியவற்றை log செய்யவும்.

பிழைகளுக்கு, request ID, error message மற்றும் stack trace ஆகியவற்றை log செய்யவும்.

அதிகாலை 3 மணிக்கு நீங்கள் விழித்தெழும்போது, மற்றவை அனைத்தும் வெறும் இரைச்சலாகவே இருக்கும்.

  1. rate limits-களை அமைக்கவும் (Set rate limits)

ஒரு endpoint மிக அதிகமாகப் பயன்படுத்தப்பட்டதால், அது உண்மையான பண இழப்பை ஏற்படுத்தியதை நான் பார்த்திருக்கிறேன்.

வரம்புகள் இல்லாத ஒரு API நம்பிக்கையை மட்டுமே நம்பியிருக்கும். நம்பிக்கை என்பது ஒரு பாதுகாப்பு உத்தி (security strategy) அல்ல.

உங்கள் server-ஐப் பாதுகாக்க express-rate-limit-ஐப் பயன்படுத்தவும்.

பெரும்பாலான API தோல்விகள் அடிப்படை விஷயங்களைப் புறக்கணிப்பதாலேயே வருகின்றன.

Production உங்கள் திட்டங்களைப் பற்றி கவலைப்படுவதில்லை. அது உங்கள் setup-ஐ மட்டுமே கவனிக்கும்.

Source: https://dev.to/manolito99/5-production-mistakes-that-changed-how-i-build-express-apis-133e