我是Akka Streams框架中的新手,我想知道以Akka Streams为目标解决问题的可能性。 想象一下这是一个问题:
是否有可能用Akka Streams解决?
答案 0 :(得分:5)
您是否考虑过使用Partition?
答案 1 :(得分:0)
正如维克多所说,分区会为你做这件事。我在Akka单元测试中找到了一个例子:
val (s1, s2, s3) = RunnableGraph.fromGraph(GraphDSL.create(Sink.seq[Int], Sink.seq[Int], Sink.seq[Int])(Tuple3.apply) { implicit b ⇒ (sink1, sink2, sink3) ⇒
val partition = b.add(Partition[Int](3, {
case g if (g > 3) ⇒ 0
case l if (l < 3) ⇒ 1
case e if (e == 3) ⇒ 2
}))
Source(List(1, 2, 3, 4, 5)) ~> partition.in
partition.out(0) ~> sink1.in
partition.out(1) ~> sink2.in
partition.out(2) ~> sink3.in
ClosedShape
}).run()