나는이 두 싱크와 같은 스트림을 가지고 있지만, 하나는 한 번에 사용됩니다여러 싱크
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink1)
또는
Source.fromElements(1, 2, 3)
.via(flow)
.runWith(sink2)
그것은 구성 할 수 있습니다 우리가 사용하는 싱크 ,하지만 두 개의 싱크를 동시에 사용한다면 어떨까요? 어떻게하면됩니까?
Sink.combine에 대해 생각했지만 병합 전략이 필요하며 어떤 식 으로든 이러한 싱크 결과를 결합하고 싶지 않습니다. 나는 그 (것)들을 진짜로 걱정하지 않는다, 그래서 동일한 데이타를 HTTP를 통해 어떤 종점에 보내고 동시에 그들을 데이타베이스에 보내고 싶다. 싱크 결합은 브로드 캐스트와 매우 비슷하지만 처음부터 브로드 캐스트를 구현하면 코드의 가독성이 떨어집니다. 이제 간단한 소스, 흐름 및 싱크가 있으며 저수준 그래프 단계가 없습니다.
내가 어떻게 하나의 싱크대를 사용하여 배압과 다른 것들을 가지고 있는지 어떻게 알 수 있습니까?
두 번째 싱크 앞에 간단한 .async를 추가하여 이러한 싱크를 병렬로 실행하는 방법은 무엇입니까? 병렬로 실행하고 싶지만 여전히 배압이 있습니다. 즉, 가장 느린 싱크대에서 보낸 시간만큼 빠른 속도로 실행되도록하고 모든 싱크대에서 소비 한 시간의 합계를 사용하지 않습니다. 이들은 동기식으로 실행되기 때문에). –