Sobes.tech
Junior — Middle

Ən Az Əlaqə yük balanslaşdırma alqoritminin iş prinsipini izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Yüngül əlaqə yük balanslaşdırma algoritmi daxil olan sorğuları, hazırda ən az aktiv əlaqəyə malik olan serverə yönəldir.

İş prinsipi:

  1. Yük balanslaşdırıcı hər bir serverdəki hazırki aktiv əlaqələrin sayını izləyir.
  2. Yeni sorğu gəldikdə, ən az aktiv əlaqəyə malik server seçilir.
  3. Sorğu həmin serverə yönəldilir və aktiv əlaqə sayğacı artırılır.
  4. Sorğu tamamlandıqda, sayğac azaldılır.

Bu, yükü bərabər şəkildə paylamağa imkan verir, xüsusən sorğuların işləmə vaxtları dəyişkən olduqda və ayrı-ayrı serverlərin yüklənməsinin qarşısını alır.

Go dilində sadə nümunə:

package main

import "fmt"

type Server struct {
    Address          string
    ActiveConnections int
}

func leastConnection(servers []Server) *Server {
    var selected *Server
    for i := range servers {
        if selected == nil || servers[i].ActiveConnections < selected.ActiveConnections {
            selected = &servers[i]
        }
    }
    return selected
}

func main() {
    servers := []Server{
        {Address: "server1", ActiveConnections: 5},
        {Address: "server2", ActiveConnections: 2},
        {Address: "server3", ActiveConnections: 3},
    }

    server := leastConnection(servers)
    fmt.Printf("Seçilmiş server: %s ilə %d aktiv əlaqə\n", server.Address, server.ActiveConnections)
}