2

I have a websocket server which handles connection to some devices (from third parties so I don't control their implementation).

My system was working fine with .NET framework on an app service until I figured out that app services have a max outbound IPs of 8000 connections in my case.

I need to move towards a more scalable server which brings me some questions.

My constraints : I need to keep a constant websocket open with the devices and be able to reach them at any time to send them messages (one by one).

I started looking into Azure app service Signal R (or the Web Pub Sub which seems very similar). The code and the pricing seems to fit my needs. Using the upstream feature I could also send custom messages to my devices.

However I don't understand the scaling part, it says each unit can contain 1000 devices.

Following this question : What is a Unit in terms of Azure Signal R Service?

All my devices are going to connect to myapp.com, 5000 of them so divided in 5 units. They are going to send me messages sent to Azure functions for analysis.

But if I decide to send a message to device n° 4300 do I need to know on which Unit it is? Can I reach it if I have several units?

I couldn't find the answer on azure's docs or signalr.

AjayKumar
  • 2,812
  • 1
  • 9
  • 28
user2088807
  • 1,378
  • 2
  • 25
  • 47
  • If you are using call to your client by `.Caller` or you are using groups to send messages, with azure signalr, you don't need to worry about that, since it is managed by azure to witch instance the client is connected. If you were to use something like redis backplane, then yes, you would need to know where the client is connected. – Kiril1512 Nov 16 '21 at 14:46
  • Thanks for your answer! I'll dig more into signalR! – user2088807 Nov 16 '21 at 15:28
  • On this 'But if I decide to send a message to device n° 4300 do I need to know on which Unit it is? Can I reach it if I have several units?" No, you don’t need to. “Unit” here is just some concept to help you understand the capacity of the service. A service having Unit5 is a service has the ability to handle 5000 concurrent clients." Please also check this doc : [Difference between SignalR unit and instance and SignalR pricing](https://techcommunity.microsoft.com/t5/iis-support-blog/difference-between-signalr-unit-and-instance-and-signalr-pricing/ba-p/1504842) – AjayKumar Nov 17 '21 at 19:49

0 Answers0