Junior — Middle
Meg tudná magyarázni, mit értünk a rendszer skálázhatósága alatt?
sobes.tech MI
Válasz az MI-től
A rendszer skálázhatósága azt jelenti, hogy a rendszer képes hatékonyan működni a terhelés vagy az adatmennyiség növekedésével. Megmutatja, hogy mennyire könnyen lehet a rendszert bővíteni, hogy több felhasználót, kérést vagy adatot kezeljen.
Két fő típusú skálázhatóság létezik:
- Vízszintes skálázás (scale-out) — új szerverek vagy csomópontok hozzáadása a rendszerhez.
- Függőleges skálázás (scale-up) — egyetlen szerver erőforrásainak növelése (pl. RAM vagy processzor hozzáadása).
A Golang kontextusában a skálázhatóság gyakran a goroutine-ok, csatornák és elosztott rendszerek hatékony használatával érhető el.
Egyszerű HTTP szerver példája, amely goroutine-ok segítségével sok kérést tud párhuzamosan kezelni:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Helló, Világ!")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
Ez a szerver sok kérést tud egyszerre feldolgozni, ami a skálázhatóság része.