Junior — Middle
Millised on peamised tunnused, mis võimaldavad määrata serveri 500 vea põhjuse?
sobes.tech AI
Vastus AI-lt
Viga 500 (Sise Serveri viga) näitab, et serveri poolel on probleem. Peamised märgid põhjuse määramiseks:
- Serveri logid: logide ülevaatamine (näiteks kasutades
logpaketti Go keeles) näitab sageli kutsungite virna ja täpset vea asukohta. - Panic Go keeles: käsitlemata panic põhjustab 500 vea. Koodi kontrollimine võimalike panikate jaoks ja nende haldamine
recoverabil aitab tuvastada põhjuse. - HTTP töötlejates vead: andmete vale haldamine, nil viitajad, vead andmebaasiga töötamisel.
- Serveri või sõltuvuste vale konfiguratsioon. Näide panic'i haldamisest Go keeles:
func handler(w http.ResponseWriter, r *http.Request) {
defer func() {
if err := recover(); err != nil {
http.Error(w, "Sise serveri viga", http.StatusInternalServerError)
// vea logimine
}
}()
// peamine kood
}