Wie kann ich ein materialisiertes Akka Stream Flussdiagramm veröffentlichen oder abonnieren?

8

Ich spiele mit Akka Stream und ich versuche seine Flexibilität nach der Materialisierung herauszufinden.

Eine Möglichkeit, dies zu tun, ist die Verwendung der API für reaktive Datenströme mit niedriger Stufe: Ссылка

Sie müssen diese Punkte jedoch zum Veröffentlichen oder Abonnieren definieren. Gibt es eine Möglichkeit, einen beliebigen materialisierten Flussdiagrammknoten zu veröffentlichen oder zu abonnieren? Dies sollte möglich sein, da ein materialisierter Flussgraph nur eine Ansammlung von Akteuren darstellt.

Zum Beispiel: Zuerst wird Ablaufdiagramm 1 bereitgestellt: A ~ & gt; B ~ & gt; C

Stellen Sie dann Flussdiagramm 2 und 3 bereit: D ~ & gt; B B ~ & gt; E

    
Ruurtjan Pul 17.02.2015, 13:33
quelle

1 Antwort

7

Es ist nicht möglich, Strukturen von Stream-Processing-Pipelines vollständig dynamisch zu ändern. Wir sehen bestimmte Arten von dynamischen Verarbeitungsschritten vor (wie ein "Fanout zu Arbeitern, die kommen und gehen können"), aber im Allgemeinen sollten Ströme und Stromverarbeitungs-Pipelines ein definiertes Layout haben, bevor sie materialisiert werden. Dies ist auch aufgrund der Rückstaumechanismen, die in Akka-Streams und reaktiven Streams im Allgemeinen verwendet werden, sinnvoll - es muss sorgfältig verwaltet werden intern und das Zulassen von beliebigen Interaktionen ist einfach nicht etwas, für das dieses streaming Modell entworfen wurde.

Wenn Sie willkürliche Interaktionen wünschen, sollten die Akteure besser zu Ihnen passen. Wenn Sie ein Verarbeitungselement haben möchten, das externe Signale zur Steuerung der Verarbeitungspipeline verwenden kann, wäre es ein spezielles Element innerhalb dieser materialisierten Pipeline, die dafür ausgelegt ist, diese Signale aufzunehmen, nicht nur irgendein Element.

Seit ich diesen Beitrag veröffentlicht habe, haben wir einige dynamische Features hinzugefügt, die für Leute, die auf dieser Seite landen, von Interesse sein könnten, vor allem die MergeHub und die BroadcastHub

Bitte beachten Sie, dass die stabile Version von Akka Streams 2.4.16 ist.

    
Konrad 'ktoso' Malawski 17.02.2015, 14:23
quelle