Replies: 1 comment 1 reply
-
Did you make any progress with this? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I am doing currently some research on how to adapt a websocket to orleans.
The source is a websocket will push data about every 15 seconds and has some multiplexing in it with different streams.
I now try to consume this websocket within orleans.
Solution 1:
My first idea was a grain which holds a websocket and some streams. It would fire up a long running Task with a loop processing the websocket.
The loop would write the incoming messages from the socket to a Channel and the grain itself would write the data in a loop itself to the corresponding stream.
A Reminder or Timer would hold the Grain active.
I think this could work and would unblock me.
Solution 2:
Would an IQueueAdapter implementation instead of a grain be a better pattern?
The question I have here is when I request a stream with this adapter, would it be per silo? I mean a websocket connection per silo?
Or would orleans detect that there is some other silo already active with an IQueueAdapter?
I read about the pulling agents. I assume they do a long wait with a configurable timeout after they read data, right?
Also, what would happen if the silo with an IQueueAdapter goes down? Would another silo take over and create this adapter?
Any hints on other solutions?
Thanks
Beta Was this translation helpful? Give feedback.
All reactions