Sobes.tech
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:

  1. 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).
  2. Metriky — zbieranie štatistík (zaťaženie CPU, pamäť, počet požiadaviek, chyby) pomocou knižníc, napríklad klienta Prometheus.
  3. Tracing — sledovanie reťazcov volaní a oneskorení pomocou OpenTelemetry alebo Jaeger.
  4. 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.