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.