生产者A将消息写入代理A(分区1),生产者B将相同的消息写入代理A(分区1)。 消息或代理发生了什么?
我猜既然有相同的消息,生产者B会停止相同的消息,然后继续消息的下一部分?
我还有一个问题,如果你想发送一个电影文件,例如,到kafka集群, 我能制作4个制片人并让他们把电影的不同部分发送到集群吗? 例如,制片人A发送电影的第一部分,制片人B发送电影的第二部分,依此类推。 (因为这似乎比一个生产商更有效。)
如果两个制作者向卡夫卡发送相同的消息,则该消息将被写入两次。卡夫卡不检查消息的内容。如果你打电话来也是一样的 send() 在一个制作人里面,你会收到两条卡夫卡的信息。
send()
如果要发送大量数据,建议使用多个生产者来分割工作。此外,kafka并不是真正设计用来处理>1GB消息的,因此将大文件分割成较小的块是一个好主意。只是小心你如何分割你的数据,因为你可能不得不重新组装它在消费者方面!