Kafka:分发流程和存储

时间:2017-04-05 15:07:33

标签: apache-kafka kafka-consumer-api

我正在寻找一种用kafka分发治疗方案的解决方案。 我必须对数百万个独立条目进行一些计算。 所以我在3个不同的VM上安装了3个kafka代理,并开始使用3个不同的线程数据生成3个分区的主题。然后,想法是在同一个使用者组中使用具有3个使用者的那些分区,并将结果存储在另一个主题中以用于其他进程。 可悲的是,它最终只将一切存储在一个分区上,因此只有一个VM。我需要分发存储和处理......

是否可以以完全并行的方式为不同主题生成数据? 如果我能让1个生产者每隔X分钟向每个分区发送大约相同数量的数据,那就更好了。

我正在使用java kafka-clients 0.10.2.0和kafka_2.11-0.10.2.0代理。

谢谢

1 个答案:

答案 0 :(得分:4)

数据按密钥分区。因此,如果您所有记录都具有相同的密钥,则它们将全部转到同一分区。

您可以在生产者上明确指定要写入的分区,也可以使用null - 将导致随机分发的密钥。