2017-09-13 95 views
0

我想并行化写入kafka,即有多个生产者将数据发送到kafka,尽管它来自akka流。在其他我的流中有几个从源头开始的阶段,然后在发送数据时,我希望有大约16位工作人员同时发送数据。并行使用Akka Streams Kafka Producer

我想知道是否需要在阿卡流图DSL中嵌入Akka Streams Kafka并为此使用平衡器,或者如果有更简单的解决方案。另外,简单地说,如果有人做了这样的事情总的来说会很棒。

回答

1

阿卡流卡夫卡(又名无卡夫卡)已经得到了制片并行特定设置(见docs

akka.kafka.producer { 
    # Tuning parameter of how many sends that can run in parallel. 
    parallelism = 100 

    ... 
} 

你试过调整它来解决问题了吗?

+0

我甚至都不知道这个参数。谢谢。 – MaatDeamon

+0

在此快速展开,这是否意味着,例如,是否需要保留我的内容的顺序,然后我需要将该并行性降至1? – MaatDeamon

+0

我认为是这样,通过看这个代码https://github.com/akka/reactive-kafka/blob/master/core/src/main/scala/akka/kafka/scaladsl/Producer.scala# L79 –