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)
}