私はこの二つのシンクなどのストリームを持っているが、一方のみが一度に使用されます。複数のシンクが
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink1)
または
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink2)
それは設定可能です我々が使用沈みます両方のシンクを並行して使用するとどうなりますか? どうすればいいですか?
私はSink.combineについて考えましたが、マージ戦略も必要であり、これらのシンクの結果をどのように組み合わせても構いません。私は本当に気にしないので、同じデータをHTTP経由でいくつかのエンドポイントに送信し、同時にそれらをデータベースに送信したいと思います。 シンクの組み合わせはブロードキャストと非常によく似ていますが、スクラッチからブロードキャストを実装するとコードの可読性が低下します。シンプルなソース、フロー、シンクしかなく、低レベルのグラフステージはありません。
あなたはそれを行うための適切な方法を知っていますか(背圧と、1つのシンクだけを使用している他のもの)?
2番目のシンクの前にシンプルな.asyncを追加すると、これらのシンクを並行して実行できますか? 私はそれらを並行して実行したいと思いますが、背圧が残っています。つまり、すべてのシンクで費やされた時間の合計ではなく、最も遅いシンクで過ごす時間と同じ速さでストリームを実行したいそれらは同期して実行されるため)。 –