အကြောင်းအရာသို့ ကျော်ရန်

Rate limit နှင့် server အမှားများကို ကိုင်တွယ်ရန်

Response header ကို ဖတ်ပြီး စနစ်တကျ ပြန်ကြိုးစားကာ လျှို့ဝှက်ချက်မပါသော စစ်ဆေးရေးအချက်အလက် သိမ်းရန်။

တွင် အပ်ဒိတ်လုပ်ထားသည်

429 response ကို ကိုင်တွယ်ရန်

Rate limit ရှိသည့် request သည် 429 Too Many Requests ပြန်ပို့ပြီး detail.status တွင် rate_limit_exceeded ပါသည်။ ပြန်မကြိုးစားမီ header များကို ဖတ်ပါ။

  • Retry-After သည် အနည်းဆုံးစောင့်ရမည့် စက္ကန့်ဖြစ်သည်။
  • X-RateLimit-Limit သည် bucket limit ဖြစ်သည်။
  • X-RateLimit-Remaining သည် ကျန် request အရေအတွက်ဖြစ်သည်။
  • X-RateLimit-Reset သည် bucket ပြန်စမည့်အချိန်ဖြစ်သည်။

Retry-After အတိုင်းစောင့်ပြီး exponential backoff နှင့် ကျပန်းအချိန်ကွာဟချက်ဖြင့် ပြန်ကြိုးစားပါ။ တပြိုင်နက် request များကို လျှော့ပြီး window ပြန်စချိန်တွင် တစ်ပြိုင်နက် မပို့ဘဲ အလုပ်များကို queue ထားပါ။

Server အမှားကို ကိုင်တွယ်ရန်

500 response body တွင် ယေဘုယျအမှားနှင့် request_id သာ ပါပြီး အတွင်းပိုင်း exception အသေးစိတ် မပါပါ။ 503 သည် လိုအပ်သော service ယာယီမရနိုင်ခြင်းကို ဆိုလိုနိုင်သည်။

Read-only request များကို ကန့်သတ်ထားသော backoff ဖြင့် ပြန်ကြိုးစားပါ။ Create၊ update၊ payment သို့မဟုတ် အခြေအနေပြောင်းသည့် request ကို ပြန်မကြိုးစားမီ ပထမအကြိမ် ပြီးမြောက်ခဲ့မခဲ့ စစ်ပါ။ Timeout သို့မဟုတ် 5xx သည် mutation မအောင်မြင်ကြောင်း သက်သေမဟုတ်၊ ချက်ချင်း ထပ်ပို့ပါက အလုပ်နှစ်ခါ ဖြစ်နိုင်သည်။

စစ်ဆေးရေးအချက်အလက် သိမ်းရန်

အချိန်၊ method၊ path၊ status၊ response body နှင့် X-Request-Id ကို မှတ်ပါ။ x-api-key တန်ဖိုးကို မည်သည့်အခါမျှ log မထည့်ပါနှင့်။ အကြိမ်အနည်းငယ် ပြန်ကြိုးစားပြီးလျှင် အလိုအလျောက် ကြိုးစားမှုရပ်ကာ အမှားကို စစ်ဆေးရန် ဖော်ပြပါ။