Mein Stream hat eine gleichmäßige Mischung aus CPU-gebundenen und IO-gebundenen Stufen (jeder IO-Stufe folgt eine CPU-Stufe). Ich möchte die IO-Operationen auf einen anderen Dispatcher als den Rest des Streams stellen. In einer traditionellen aktarbasierten Akka-Anwendung hätte ich meine IO-Actors auf einen festen Thread-Pool-Dispatcher mit vielen Threads setzen können, während die CPU-gebundenen Actors auf einen Fork-Join-Pool mit einer kleinen Anzahl von Threads (einige multiple, idealerweise 1, der Anzahl der Kerne). Das sollte die Zeit reduzieren, die beim Threadwechsel für die CPU-gebundenen Akteure verschwendet wird, während der Durchsatz erhöht wird, indem viele Threads für IO blockiert werden.Akka-Stream - Setzen eines IO-gebundenen Flusses auf einen anderen Dispatcher
Ist dieses Verständnis richtig? Wenn nicht, warum? Wenn ja, wie setze ich meine IO-gebundenen Stufen (Flows) auf einen separaten Dispatcher vom Rest des Streams?
Ich habe versucht, Auto-Fusing zu deaktivieren, und das hilft. Aber es hat immer noch einen viel geringeren Durchsatz als das fast gleichwertige Akka-Pendant.
Danke für die Antwort. Das ist, was ich gesucht habe. – anindyaju99
Was ist, wenn ich eine Antwort zurückgeben und im Hintergrund arbeiten möchte? [This] (https://gist.github.com/asarkar/37e4cb026c463f6334617e923cfc4b12) scheint zu funktionieren. –