0

I'm using azure service fabric for our new service.

For the client-facing gateway I have a stateless service getting request, the actual work is done using reliable stateless actors.

As suggested by Sean McKenna - MSFT in this question, I put the incoming request in a ReliableQueue and storing the result in a ReliableDictionary.

The actors work time can take up to 10 minutes, So my question is how to push back the results to the client after such a long time?

Client side polling is not possible in our case.

For a start I'll need to support up to 10k request per day, later on it will get higher, much higher.

Community
  • 1
  • 1
Kulpemovitz
  • 531
  • 1
  • 9
  • 23
  • Maybe use something like Firebase/SignalR push the results around? – Steven Yates Jan 06 '16 at 14:15
  • I though using SignalR, but it seems SignalR is much more for broadcasting to the entire group (like IRC) , not for a single client, I saw some suggestion how to signal a single user, just want to make sure that is the best way. like in here - http://stackoverflow.com/questions/19522103/signalr-sending-a-message-to-a-specific-user-using-iuseridprovider-new-2-0 – Kulpemovitz Jan 06 '16 at 14:25
  • I'm sure it would be fine, you can choose which user to send your data too. It's normal for a typical chat application to only send to a single user and SignalR is setup for this. – Steven Yates Jan 06 '16 at 14:28

1 Answers1

2

Service Fabric doesn't limit you in any way when it comes to something like this - you should try and approach the problem as you would in any other platform.

You can use a pub/sub solution (e.g. Service Bus) or the client could even provide an API that can receive status updates from the actor/service.

charisk
  • 3,190
  • 2
  • 24
  • 18