Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, kas ir domāts ar sistēmas mērogojamību?

sobes.tech AI

Atbilde no AI

Sistēmas mērogojamība ir tās spēja efektīvi darboties, palielinoties slodzei vai datu apjomam. Tā rāda, cik viegli var paplašināt sistēmu, lai tā spētu apstrādāt vairāk lietotāju, pieprasījumu vai datu.

Ir divi galvenie mērogojamības veidi:

  • Vertikālā mērogojamība (scale-up) — palielināt viena servera resursus (piemēram, pievienojot RAM vai procesorus).
  • Horizontālā mērogojamība (scale-out) — pievienot jaunus serverus vai mezglus sistēmai.

Golang kontekstā mērogojamība bieži tiek sasniegta, efektīvi izmantojot goroutines, kanālus un izplatītās sistēmas.

Piemērs vienkāršam HTTP serverim, kas var apstrādāt daudz pieprasījumu paralēli, pateicoties goroutines:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Sveiki, Pasaule!")
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Šāds serveris var apstrādāt daudz pieprasījumu vienlaikus, kas ir mērogojamības sastāvdaļa.