backpressure .net reactive - fast obeservable

时间:2017-08-23 13:20:20

标签: c# system.reactive producer-consumer reactive backpressure

我正在使用.NET反应来构建一个producer.consumer模式。制作人从Kafka消息总线读取消息。读取消息后,需要将消息传递给消费者以处理消息。

我能够使用.NET反应式扩展(可观察和观察者)来做到这一点。但是,我想处理这样一种情况,即从总线读取消息的速度更快,消费者也会落后。我希望observable对反压做出反应,即如果observable表明它仍在处理早期的消息,则减慢可观察量。

// Create a subject of my custom object and make it observable
 private readonly Subject<MyMessage> messageSubject = new Subject<MyMessage>();

messageSubject.AsObservable();

// add observer to the subject
_onMessageObservable.ObserveOn(NewThreadScheduler.Default)

// On receive of message, notify the observer
messageSubject.OnNext(msg.Value);

0 个答案:

没有答案