Ich habe einen Stream ähnliche und zwei Waschbecken, aber nur eine zu einem Zeitpunkt verwendet:Mehrere sinkt im gleichen Strom
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink1)
oder
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink2)
Es ist konfigurierbar, die wir sinken verwenden , aber was, wenn ich beide Senken parallel benutze. Wie kann ich das tun?
Ich dachte über Sink.combine, aber es erfordert auch eine Merge-Strategie und ich möchte nicht Ergebnisse dieser Senken in keiner Weise kombinieren. Ich interessiere mich nicht wirklich für sie, also möchte ich die gleichen Daten über HTTP nur an einen Endpunkt senden und gleichzeitig an die Datenbank senden. Sink-Kombination ist sehr ähnlich zu Broadcast, aber die Implementierung einer Broadcast von Grund auf verringert die Lesbarkeit meines Codes wo ich jetzt nur einfache Quelle, Fluss und eine Senke, keine Low-Level-Grafik-Stufen.
Kennen Sie einen richtigen Weg, wie man das macht (mit Gegendruck und anderen Dingen, die ich mit nur einer Senke habe)?
Wie kann ich diese Senken parallel laufen, indem Sie eine einfache .async vor der zweiten Senke hinzufügen? Ich möchte sie parallel laufen lassen, aber immer noch einen Gegendruck haben, mit anderen Worten, ich möchte meinen Stream so schnell laufen lassen wie die Zeit in der langsamsten Senke und nicht als die Summe der Zeit in allen Senken (weil sie synchron laufen). –