Sobes.tech
Junior — Middle

Sistemlərin miqyaslana bilməsindən nə başa düşülür, izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Sistemın miqyaslana bilmə qabiliyyəti, sistemin yük və ya məlumat həcmi artdıqca səmərəli işləmək qabiliyyətidir. Bu, sistemin daha çox istifadəçi, sorğu və ya məlumatla başa çıxmaq üçün nə qədər asan genişləndirilə biləcəyini göstərir.

İki əsas miqyaslana bilmə növü mövcuddur:

  • Şaquli miqyaslana bilmə (scale-up) — tək bir serverin resurslarının artırılması (məsələn, RAM və ya prosessorların əlavə edilməsi).
  • Üfüqi miqyaslana bilmə (scale-out) — sistemə yeni serverlər və ya düyünlər əlavə etmək.

Golang kontekstində, miqyaslana bilmə tez-tez goroutine'lər, kanallar və paylanmış sistemlərdən səmərəli istifadə etməklə əldə edilir.

Goroutine'lər sayəsində çoxsaylı sorğuları paralel şəkildə işləyə bilən sadə HTTP server nümunəsi:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Salam, Dünya!")
}

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

Belə server çoxsaylı sorğuları eyni vaxtda işləyə bilər və bu, miqyaslana bilmənin bir hissəsidir.