Junior — Middle
Ako kontrolujete a sledujete stav služby alebo aplikácie počas jej prevádzky?
sobes.tech AI
Odpoveď od AI
Na kontrolu a sledovanie stavu služby alebo aplikácie v Go sa zvyčajne používajú viaceré prístupy:
- Logovanie — zaznamenávanie dôležitých udalostí a chýb do logových súborov alebo externých systémov (napríklad ELK, Graylog).
- Metriky — zbieranie štatistík (zaťaženie CPU, pamäť, počet požiadaviek, chyby) pomocou knižníc, napríklad klienta Prometheus.
- Tracing — sledovanie reťazcov volaní a oneskorení pomocou OpenTelemetry alebo Jaeger.
- Health Checks — koncové body, ktoré vracajú stav služby (napríklad
/healthz), aby mohli orchestrácie systémy (Kubernetes) overiť funkčnosť.
Príklad jednoduchého health checku v Go:
http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("OK"))
})
log.Fatal(http.ListenAndServe(":8080", nil))
Kombináciou logov, metrík a health checks je možné efektívne kontrolovať stav aplikácie počas jej prevádzky.