Es lohnt sich, auf den learn more Link auf dem [system.reactive]
Tag zu klicken, wir haben ein gutes Stück Information dort hingelegt!
Vom Intro dort kann man sehen, dass Rx Queuing-Technologie nicht eine Nachricht ist:
Die Reactive Extensions (Rx) ist eine Bibliothek für das Komponieren asynchrone und ereignisbasierte Programme mit beobachtbaren Sequenzen und LINQ-Stil Abfrageoperatoren. System.Reactive ist der Root-Namespace, der in der Bibliothek verwendet wird. Mit Rx stellen Entwickler asynchrone Datenströme mithilfe von LINQ-Operatoren dar und parametrisieren die Parallelität in den asynchronen Datenströmen mithilfe von Zeitplänen. Einfach gesagt, Rx = Observables + LINQ + Scheduler.
Also, Rx und Message Queuing sind wirklich unterschiedliche Technologien, die sich gut ergänzen können. Ein klassisches Beispiel ist ein Börsenticker-Service - dieser kann über Message Queuing geliefert werden, wird dann aber von Rx in Gruppen-, Aggregations- und Filterpreise umgewandelt.
können Sie noch weiter gehen: viel wie Entity Framework stellt sich IQueryable<T>
Abfragen in SQL laufen direkt auf der Datenbank können Sie Anbieter erstellen, die Rx IQbservable<T>
Abfragen in native Abfragen drehen - zum Beispiel ein Where
Filter kann die native Filterfunktion nutzen, die vorhanden ist in vielen Message Queuing-Technologien, um Filter direkt anzuwenden. Das ist eine Menge Arbeit und schwer.
Es ist viel einfacher und nicht selten Nachrichten Nachrichtenwarteschlangen zu sehen in einem Rx Subject
, so dass eingehende Nachrichten aus einer Warteschlange in einen Rx-Stream für den einfachen Verbrauch im Client umgewandelt werden. Rx wird auch häufig in GUIs verwendet, um mit clientseitigen Ereignissen wie Schaltflächen- und Textfeldänderungen zu arbeiten, um traditionell schwierige Szenarien wie Drag-and-Drop und die automatische Vervollständigung von Text über asynchrone Serverabfragen erheblich einfacher zu machen. Es gibt eine gute Hands-on-Lab für das spätere Szenario here. Es wurde gegen eine vorzeitige Veröffentlichung von Rx geschrieben, ist aber immer noch sehr relevant.
Ich empfehle diese Videopräsentation von Bart de Smet für ein fantastisches Intro: Curing Your Event Processing Blues with Reactive Extensions (Rx) - einschließlich der klassischen Rx-Demo, die eine Anfrage über einen Live-Feed von Kinect schreibt, um Hand-waving zu interpretieren!
Warteschlangen Sie Warteschlangen. Rx nicht. Rx ist nicht verteilt. Rx ist Paradigma der Ereignisverarbeitung, nicht nur Pub/Sub. Ereignisse sind Pub/Sub-Paradigma. –