Base solution for your next web application

Activities of "[email protected]"

Hi Brian,

After implementing a solution using your approach, everything works as expected in a fully scaled Azure setup.

Once again, thanks Brian for your input and kindly offered solution.

Hi @ismcagdas,

The way the Online Manager is setup for Signalr should be revised, as cloud solutions that need to scale out will face this issue. Using a service like Azure Signalr should work our of the box and should not require any additional type of backplane to work in a scaled environment.

Hi @ismcagdas,

Before implementing Brians solution above, I turned on Redis as you suggestion as a quick fix, however, this still didn't fix the problem! When the Azure App Service is scaled out to 2+ instances message delivery is still inconsistence!

Cheers Jason

Hi Brian,

Thank you for the details shared, much apreciated and very helpfully. I will implement something simlar, adapting it to the latest version of ABP/ANZ.

Cheers Jason

Hi @ismcagdas,

I have been looking through the ABP Realtime repo today, which seems to be the issue. I am confused why I need to use Redis, when the Azure Signalr Service shouldn't need to have a Redis backplane. Also, Redis can have latency issues, especially when you have a multi region Azure setup. Futhermore, the cost is much higher espeically when you need to scale.

The design of the OnlineClientManager with the InMemory store is not designed for horizontal scalablily, which is an issue.

Do you have another solution other then Redis? This should work out of the box.

Thanks Jason

Hi @sedulen,

Thank you for providing the details above. I have not had to replace any ANZ core classes during module initialization until now! So any code you could provide for the Azure Storage Account (Tables) implementation you have mentioned, would be very helpful.

The details provided definitely explain the behaviour I have been experiencing.

Hi @ismcagdas, to answer your question, yes. Furthermore, when I setup a test app, excluding the ABP/ANZ frameworks everything works as expected.

Thanks Jason

Showing 1 to 5 of 5 entries