私のストリームには、CPUバウンドステージとIOバウンドステージが均等に混在しています(IOステージごとにCPUステージが続きます)。私がやりたいことは、IO操作を残りのストリームとは異なるディスパッチャに置くことです。Akkaストリーム - 別のディスパッチャにIOバウンドフローを設定する
従来のアクターベースのAkkaアプリケーションでは、IOアクターを多数のスレッドで固定スレッドプールディスパッチャーに配置し、CPUバインドアクターを少数のスレッドでフォーク結合プールに配置することができました理想的には、コア数の1)。これは、IOに多くのスレッドをブロックすることによってスループットを向上させながら、CPUバインドされたアクターのスレッド切り替えに浪費される時間を削減するはずです。
これは正しいですか?そうでない場合、なぜですか?はいの場合、IOバインドステージ(フロー)をストリームの残りのディスパッチャに配置するにはどうすればよいですか?
私は自動融合をオフにしようとしましたが、それは助けになります。しかし、それはほぼ同等のAkkaの同等物よりもずっと少ないスループットを有する。
stage.withAttributes(ActorAttributes.dispatcher("dispatcher-name"))
する。これは、非同期境界をご紹介します:
感謝。これは私が探していたものです。 – anindyaju99
回答を返信してバックグラウンドで作業し続ける場合はどうすればよいですか? [This](https://gist.github.com/asarkar/37e4cb026c463f6334617e923cfc4b12)が動作しているようです。 –