Sobes.tech
Intern

Hogyan fejlesszük az alkalmazást, hogy ne essen le külső API hiba esetén?

sobes.tech MI

Válasz az MI-től

Annak érdekében, hogy az alkalmazás ne omoljon össze külső API-hiba esetén, hibakezelést és ellenálló mechanizmusokat kell bevezetni:

  • Használjon try/catch blokkokat (vagy hasonló szerkezeteket) az API hívásakor fellépő kivételek elfogására.
  • Adjunk hozzá időkorlátokat és ismétlődő próbálkozásokat exponenciális késleltetéssel.
  • Használjon fallback logikát: például cache-elt adatok vagy alapértelmezett értékek visszaadása.
  • Naplózza a hibákat későbbi elemzés céljából.
  • Szükség esetén alkalmazzon circuit breaker-t — ideiglenesen kikapcsolva a problémás API hívásokat gyakori hibák esetén.

Go nyelvű példa hibakezeléssel és retry-val:

func callExternalAPI() (string, error) {
    var result string
    var err error
    for i := 0; i < 3; i++ { // három próbálkozás
        result, err = doRequest()
        if err == nil {
            return result, nil
        }
        time.Sleep(time.Duration(i*i) * time.Second) // exponenciális késleltetés
    }
    return "", fmt.Errorf("sikertelen a retries után: %w", err)
}