Sobes.tech
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)
}