stackit.guru
Networking

Load Balancer

networking load-balancing ha

Übersicht

STACKIT Load Balancer verteilt eingehenden Datenverkehr automatisch auf mehrere Backend-Instanzen, um hohe Verfügbarkeit und Fehlertoleranz zu gewährleisten. Der Service unterstützt Layer 4 (TCP/UDP) und Layer 7 (HTTP/HTTPS) Load Balancing. Mit Health Checks überwacht der Load Balancer kontinuierlich die Verfügbarkeit der Backend-Instanzen und leitet Traffic nur an gesunde Instanzen weiter. SSL/TLS-Terminierung entlastet Ihre Anwendungsserver. Load Balancer sind essentiell für skalierbare Web-Anwendungen, API-Gateways und jede Architektur, die hohe Verfügbarkeit und automatisches Failover erfordert.

Go SDK Beispiel

package main

import (
    "context"
    "fmt"
    "github.com/stackitcloud/stackit-sdk-go/services/loadbalancer"
)

func main() {
    // Initialize Load Balancer client
    client, err := loadbalancer.NewClient()
    if err != nil {
        panic(err)
    }
    
    // Create a new load balancer
    lb, err := client.CreateLoadBalancer(context.Background(), &loadbalancer.CreateLoadBalancerRequest{
        ProjectID: "your-project-id",
        Name:      "my-lb",
        NetworkID: "your-network-id",
        Listeners: []loadbalancer.Listener{
            {
                Protocol: "HTTP",
                Port:     80,
            },
        },
        TargetPool: loadbalancer.TargetPool{
            Protocol:    "HTTP",
            Port:        8080,
            HealthCheck: loadbalancer.HealthCheck{
                Protocol: "HTTP",
                Path:     "/health",
                Interval: 30,
            },
            Targets: []string{"server-id-1", "server-id-2"},
        },
    })
    
    if err != nil {
        panic(err)
    }
    
    fmt.Printf("Load Balancer created: %s (IP: %s)\n", lb.Name, lb.IPAddress)
}

Dokumentation

Verwandte Artikel