通常需要在给定 Kafka 主题的同一分区中进行排序。也就是说,具有相同键的消息应该去同一个分区。现在,如果我想在正在运行的主题中添加新分区,如何制作并保持一致性?
据我了解,默认的分区策略是修改 num-of-partition 。当分区数发生变化时(例如从 4 到 5),一些消息可能会落入与先前具有相同键的消息不同的分区。
我可以想象实现一致的散列来自定义分区行为,但这可能是侵入性的。
或者,只是停止所有生产者,直到所有消息都被消耗完;然后部署新分区并重新启动所有生产者。
有更好的想法吗?