Reputation: 3631
I have build a test application for some demo purposes which is based on IoT and Industry 4.0 concept. Following are important points.
SignalR
to pass on data to connected user to update dashboard.Following is the Architecture diagram of setup
Problem
Now for real scenarios there could be many simultaneous users to cloud application and there is the point when cloud comes into play, and it can horizontally scale-up the webapp to many instances, It could create problem while directly reading events from Event Hub in that case and not all web-app instances will receive all events Which is wrong, and I think this is the reason in MS Azure remote monitoring Architecture diagram, that webapp is not reading messages from Event Hub directly.
Question
What could be best/qucik changes to above architecture to resolve the problem and still show realtime events to clients?
Upvotes: 1
Views: 679
Reputation: 9720
Reading event data directly from event hub is limited by these quotas and limits.
Maximum number of partitions per Event Hub is 32.
Note that a single partition within a consumer group cannot have more than 5 concurrent readers connected at any time.
So, for example, if you have one event hub, there are 32*5 concurrent readers supported at most.
If you have many more simultaneous users(>32*5) you need increase the number of event hub.
It could create problem while directly reading events from Event Hub in that case and not all web-app instances will receive all events...
There some possible reasons:
I test the scenario that five simultaneous readers receive event from one partition. No events loss.
Hope this is helpful for you. If there is any concern, please feel free to let me know.
Upvotes: 1