当多个生产者将相同的消息写入Broker时,Broker会做什么?还有一个相关问题(由于150个字符的限制)

时间:2019-03-26 08:27:42

标签: apache-kafka producer-consumer kafka-producer-api producer

生产者A向代理A(分区1)写一条消息,生产者B向代理A(分区1)写一条消息。 消息或代理发生了什么?

我猜是因为有相同的消息,生产者B停止了相同的消息,然后继续下一部分消息吗?

我还有一个问题,例如,如果您要将电影文件发送到Kafka Cluster,我可以让4名制片人将他们的电影的不同部分发送到集群中吗?例如,生产者A发送电影的第一部分,生产者B发送电影的第二部分,依此类推。 (因为这似乎比一个生产者更有效。)

1 个答案:

答案 0 :(得分:2)

  1. 如果2个生产者向Kafka发送相同的消息,则该消息被写入两次。 Kafka不检查邮件内容。如果您在生产者中两次致电send(),则在Kafka中会收到2条消息。

  2. 如果要发送大量数据,建议使用多个生产者来拆分工作。同样,Kafka并不是真正设计用于处理> 1GB的消息,因此将大文件拆分为较小的块是一个好主意。请小心分割数据,因为您可能必须在消费者端重新组装数据!