繁体   English   中英

Kafka多个制作人写同一主题 - 消息和数据突发的排序

[英]Kafka multiple producer writing to same topic - Ordering of message and data burst

我想了解卡夫卡。 假设我有多个制作人,每个人都写同一个主题。 (由于设计和我们使用avro进行序列化,因此无法拥有更多主题)因为我们的信息太大,我们需要将其分成小部分并将其发送给kafka。

在这种情况下 - 来自不同生产者的消息可以混合吗? 我该如何避免这种情况? 有任何想法吗

此外,我们有巨大的数据库,就像在2分钟内会有1000条消息,然后在接下来的5到7分钟内消息很少,在这种情况下我们可以做些什么

因为我们的信息太大,我们需要将其分成小部分,然后将其发送给kafka。

你呢? 您运行了基本测试并遇到了一些问题? 你试过调整缓冲区吗? 我很确定kafka可以毫不费力地处理相对较大的消息(数十兆字节)。 实际上,与大量微小消息相比,您可能会获得更好的吞吐量。

此外,我们有巨大的数据库,就像在2分钟内会有1000条消息,然后在接下来的5到7分钟内消息很少,在这种情况下我们可以做些什么

现代服务器机器上的单个kafka代理可以轻松处理每秒 ~20k-40k消息(批量处理1000条消息,每个2k大小,同步模式)。 我没有看到问题。

来自不同生产者的消息可以混合吗?

是的,他们可能是混合的。 实际上,kafka协议并没有很好地定义这一时刻,特定的实现可能会改变这种行为,因此对于稳定的解决方案,请看下面的部分。

我该如何避免这种情况?

Kafka有一个分区的概念:每个主题默认都有1个分区,每个分区都可以被认为是并行的一个单元。 设置适当的分区程序,以便每个生成器以隔离的方式写入它自己的分区。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM