有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在增加分区后,有没有办法在ApacheKafka中保持顺序?

我知道kafka使用默认的分区策略将消息发送到不同的主题分区。默认策略是哈希(键)%分区。这意味着在以后添加更多分区之后,具有相同密钥的新记录将转到不同分区,并且顺序将丢失

一种方法是使用自定义策略,我可以从数据库或本地存储中查询数据,如果存在密钥,那么我可以将消息转发到同一分区。但这会降低吞吐量

另一种方法是将消息读入一个新的高度分区的主题,并将此主题用作默认主题。这个问题可能会变得非常复杂,因为我们对事件源系统使用了几个不同的主题,其中我们使用kafka streams本地状态存储,并对命令、结果和事件等使用不同的主题

还有其他选择吗


共 (0) 个答案