I need to split processing sequence (like in this question How to organize sequence of data processors with .net RX) into several computation units in Azure environment.
The idea is to serialize Observable sequence to Azure Queues(or Service Bus) and to deserialize it back.
If producer or consumer is failed other party should be able to continue producing/consuming.
Could anyone suggest an elegant way to do so and what to use (Azure Queues or Service Bus)?
Has anyone used TCP Observable provider – http://rxx.codeplex.com/wikipage?title=TCP%20Qbservable%20Provider for such problems is it safe to the failures of one of the parties?
Imagine you have a messaage queue with the following API
To make this RX compatible
To use it in a fault tolerant way. Note Retry will resubscribe if there is an exception
thrown upstream delivered by OnError
On the writing side for example you could send a message every two seconds and retry
the subscription to the generator if there is an error. Note there is unlikely to be
an error in Observable.Interval that just generates a message every time interval but
imagine reading from a file or some other message queue.
Note you probably should use the IObservable Catch extension method rather than
blindly retrying as you might get the same error over and over again.
Retry().
Subscribe(mq);