Intern
Kā uzlabot lietotni, lai tā nekrīt ārējā API kļūdas gadījumā?
sobes.tech AI
Atbilde no AI
Lai lietotne nesalūztu ārējās API kļūdas dēļ, ir jāievieš kļūdu apstrāde un izturības mehānismi:
- Izmantojiet try/catch blokus (vai līdzīgas struktūras), lai noķertu izņēmumus API izsaukuma laikā.
- Pievienojiet laika ierobežojumus un atkārtotus mēģinājumus ar eksponenciālu aizkavi.
- Izmantojiet fallback loģiku: piemēram, atgrieziet kešētus datus vai noklusējuma vērtības.
- Pierakstiet kļūdas turpmākai analīzei.
- Ja nepieciešams, izmantojiet circuit breaker — lai īslaicīgi izslēgtu problēmjauko API izsaukumus biežu kļūdu gadījumā.
Go piemērs ar kļūdu apstrādi un retry:
func callExternalAPI() (string, error) {
var result string
var err error
for i := 0; i < 3; i++ { // trīs mēģinājumi
result, err = doRequest()
if err == nil {
return result, nil
}
time.Sleep(time.Duration(i*i) * time.Second) // eksponenciāla aizkave
}
return "", fmt.Errorf("neizdevās pēc mēģinājumiem: %w", err)
}