Load Balancer
Ü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)
}