Anonymized case study. Client name and identifying metrics are withheld. Patterns reflect representative senior .NET programs.
Executive summary
An operations analytics vendor streamed live KPIs via self-hosted SignalR hubs on two API nodes. Failover and sticky sessions caused missed updates during peak broadcast events.
The challenge
Connection count spikes at shift change. Memory growth from undisposed hub contexts. Sticky load balancer misroutes after deploy.
Technical approach
Azure SignalR Service, partitioned hub groups by customer, server-side rate limits on broadcast frequency, connection heartbeat and client reconnect UX, load tests with realistic message payloads, and blue/green deploy with connection drain.
Outcomes
Peak broadcasts remained stable in load test and production. Customer-visible missed ticks dropped sharply. Deploys no longer required maintenance windows for hub restarts.
Discuss a program like this
Share your constraints and stack—we will outline fit and what proof we can share on a discovery call.