Anforderung. Das System bedient mehrere Hundert
gleichzeitige Sessions. Server-Sent Events liefern Echtzeit-Updates an die Clients, unabhängig
davon, an welchen Backend-Pod ein Client angebunden ist.
Lösung. Mehrere zustandslose .NET-Pods hinter
Traefik als Ingress. Server-Sent Events fan-outen lokal pro Pod; zwischen den
Pods läuft ein Redis-Pub/Sub als Event-Bus. Damit braucht der Ingress keine
Sticky-Sessions, und Pods können ohne Verbindungsverlust hoch- und runterskaliert
werden.
Identität. Keycloak als OIDC-Broker, eingebunden in den bestehenden Firmen-IdP. Sämtliche
API-Calls und SSE-Subscriptions sind tokenbasiert authentifiziert.
Frontend. Angular-Bundle, von
Nginx statisch ausgeliefert. Deployment vollständig deklarativ über GitOps in
einen OpenShift-Cluster, inklusive Konfiguration, Secrets und Routes.
Ergebnis: horizontal skalierbar, ohne Sticky-Sessions, mit klarer Trennung zwischen
Frontend, Backend und Identitätsschicht. Fällt ein Pod aus, übernimmt ein anderer ohne
sichtbare Folgen für angemeldete Anwender.