Ich würde die Anwendung als eine Spring-Boot-App mit mehreren Replikas über ein Kubernetes Deployment betreiben und Horizontal Pod Autoscaling basierend auf CPU- und Request-Metriken aktivieren.
Ein Kubernetes Service in Kombination mit Ingress oder einem Cloud Load Balancer sorgt für gleichmäßige Lastverteilung und Ausfallsicherheit.
Ein Kubernetes Service verteilt eingehende Anfragen per Round-Robin oder IP-Hash automatisch auf alle gesunden Pod-Replikas und leitet Traffic nur an Pods weiter, die durch Readiness-Probes als verfügbar gelten. Der Ingress fungiert als zentraler HTTP-Entry-Point, terminiert TLS und routet Anfragen anhand von Hostnamen oder Pfaden an den passenden Service.
Die Persistenzschicht (z. B. eine verteilte Datenbank wie DynamoDB, Cassandra oder eine SQL-Datenbank mit Read-Replicas) wird hochverfügbar betrieben. Für die stark leseintensiven Zugriffe werden Caching-Mechanismen wie Redis eingesetzt, um globale Skalierung und geringe Latenzen zu ermöglichen.

Hinterlasse einen Kommentar