Azure / azure-signalr

Azure SignalR Service SDK for .NET

Home Page:https://aka.ms/signalr-service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question: How to switch to secondary service endpoint without App Server restart?

audrius-freemarket opened this issue · comments

Following this documentation https://learn.microsoft.com/en-us/azure/azure-signalr/signalr-concept-disaster-recovery#how-to-test-a-failover suggest that I've created two App Servers and two SignalR services.

From my testing it looks like the service endpoint's Online status doesn't change at runtime. Only when App Server is restarted that this status is updated. As a result, when SignalR Service 1 goes down all clients connecting to App Server 1 will start failing until that server is restarted. Is there a way to poll/update service endpoint status at runtime?

I think I found a flaw in my own testing. I followed the steps in the 'How to test a failover' section of the said documentation to test it, which suggested to disable public network access. However this does not automatically close already open connections. New connections from clients would fail but the service connection middleware didn't lose the connection and saw no issue. Severing that connection does result in almost seamless failover.