首页 > 解决方案 > 增加分区数

问题描述

我们正在开发 Confluent 平台,我们仍在了解内部结构。但是我们已经实现了通用用例。我们正在尝试优化我们的集群

在我的用例中,我需要增加一个主题的分区数。它有什么影响?你能分享一下吗

标签: apache-kafka

解决方案


当然,您可以增加分区。

然而

  1. 增加分区不会移动现有数据。如果使用 Confluent Enterprise,您可以使用confluent-rebalancer,或者如果没有,则使用kafka-reassign-partitionsCLI 工具。因此,您肯定会想要重新平衡一个主题以“优化”集群。
  2. 在主题的保留期内(阅读:现有数据),如果您之前有一个生产者向 partition 发送数据N,现在有N+1分区,那么您将失去那些仅存在于 partition 中的消息的排序N。新消息可以分布在新生产者使用DefaultPartitioner. 如果您不发送带有消息的密钥,那么这不是问题。

推荐阅读