生产者A向代理A(分区1)写一条消息,生产者B向代理A(分区1)写一条消息。 消息或代理发生了什么?
我猜是因为有相同的消息,生产者B停止了相同的消息,然后继续下一部分消息吗?
我还有一个问题,例如,如果您要将电影文件发送到Kafka Cluster,我可以让4名制片人将他们的电影的不同部分发送到集群中吗?例如,生产者A发送电影的第一部分,生产者B发送电影的第二部分,依此类推。 (因为这似乎比一个生产者更有效。)
答案 0 :(得分:2)
如果2个生产者向Kafka发送相同的消息,则该消息被写入两次。 Kafka不检查邮件内容。如果您在生产者中两次致电send()
,则在Kafka中会收到2条消息。
如果要发送大量数据,建议使用多个生产者来拆分工作。同样,Kafka并不是真正设计用于处理> 1GB的消息,因此将大文件拆分为较小的块是一个好主意。请小心分割数据,因为您可能必须在消费者端重新组装数据!