내 스트림에는 CPU 바인딩 스테이지와 IO 바인딩 스테이지가 균등하게 혼합되어 있습니다 (IO 스테이지마다 CPU 스테이지가 뒤 따른다). 내가하고 싶은 일은 IO 작업을 나머지 스트림과 다른 디스패처에 넣는 것입니다.Akka 스트림 - 다른 디스패처에 IO 바인딩 플로우 전달
전통적인 액터 기반 Akka 응용 프로그램에서 많은 수의 스레드가있는 고정 된 스레드 풀 디스패처에 IO 액터를 넣을 수 있습니다. CPU에 연결된 액터를 소수의 스레드 (몇 개, 이상적으로 코어 수의 1). 이를 통해 CPU 바운드 액터의 쓰레드 스위칭에서 낭비되는 시간을 줄이고 많은 쓰레드를 IO로 차단함으로써 처리량을 늘려야합니다.
이해가 되셨습니까? 그렇지 않다면, 왜? 그렇다면 IO 묶여있는 단계 (흐름)를 나머지 스트림과는 별도의 디스패처에 어떻게 배치합니까?
나는 자동 융합 기능을 사용하지 않는 것이 도움이된다. 그러나 여전히 거의 동일한 Akka 대응 제품보다 처리량이 훨씬 적습니다.
stage.withAttributes(ActorAttributes.dispatcher("dispatcher-name"))
것은이 비동기 경계를 소개합니다 :
감사합니다. 이것이 제가 찾고 있던 것입니다. – anindyaju99
응답을 보내고 백그라운드에서 계속 작업하려면 어떻게합니까? [This] (https://gist.github.com/asarkar/37e4cb026c463f6334617e923cfc4b12)가 효과가있는 것 같습니다. –