分区卡夫卡已满时会发生什么?

时间:2020-05-23 22:18:05

标签: apache-kafka

是否将数据放入启动Kafka之前配置的另一个分区?

像往常一样3拥有更多分区的好处和主要原因是什么?

它如何影响阅读和写作表现?

1 个答案:

答案 0 :(得分:0)

我在理解您的问题时遇到了一些麻烦,但是我认为您可能会误解一个分区的实际含义。如果在配置中指定了分区,则分区才有限制;否则,您可以简单地将分区视为包含偏移量的单独数据流。实际上,分区大小(或相关主题)的限制就是磁盘容量所允许的。通常,一旦达到指定的保留期限或最大大小/数据限制,数据就会被保留在那里并被删除。

配置列表非常广泛,但是您可以在此处查看:

https://kafka.apache.org/documentation/#configuration

对于您来说,关于拥有更多分区的理由的其他问题,只是归结为扩展。如果您只有少量数据,那么少量分区就足够了。使用kafka,每个分区具有多个使用者没有任何好处。即如果您有三个分区,则三个使用者是您可以拥有的最佳使用者数目,因为每个使用者将被分配到一个分区。如果您有更多的消费者,一些消费者就会闲着。

那如果我们有更多数据并且需要更快地读取它以避免延迟怎么办?好吧,我们可以添加更多的分区,这样我们还可以扩大使用方的数量。

旁注。您可以有一个从多个分区读取数据的使用者,但这将成为一个问题,因为重新分配分区需要花费时间,并且如果与分区数量相比,使用者数量太少,则由于它们无法处理高负载重新分配的时间,不进行任何处理。