Sobes.tech
Intern

Cum îmbunătățim aplicația pentru a nu se bloca în cazul unei erori a API-ului extern?

sobes.tech AI

Răspuns de la AI

Pentru ca aplicația să nu se prăbușească în cazul unei erori a API-ului extern, trebuie implementate gestionarea erorilor și mecanisme de reziliență:

  • Utilizați blocuri try/catch (sau structuri similare) pentru a captura excepțiile la apelarea API-ului.
  • Adăugați timeout-uri și încercări repetate cu întârziere exponențială.
  • Utilizați logică de fallback: de exemplu, returnați date cache-uite sau valori implicite.
  • Înregistrați erorile pentru analiză ulterioară.
  • Dacă este necesar, aplicați un circuit breaker — pentru a dezactiva temporar apelurile către API-ul problematic în cazul erorilor frecvente.

Exemplu în Go cu gestionarea erorilor și retry:

func callExternalAPI() (string, error) {
    var result string
    var err error
    for i := 0; i < 3; i++ { // trei încercări
        result, err = doRequest()
        if err == nil {
            return result, nil
        }
        time.Sleep(time.Duration(i*i) * time.Second) // întârziere exponențială
    }
    return "", fmt.Errorf("eșec după retries: %w", err)
}