为什么我们需要默认值为50的分区计数?i、 e offsets.topic.num.partitions默认值为50。我们甚至可以使用offset.topic.num.partitions=1。
b4qexyjb1#
这个 __consumer_offsets 在不同的场景中使用,例如当使用者开始工作以获取初始偏移量时,或者当它提交其最后处理的偏移量时。因此,取决于它们如何提交它们的偏移量(默认情况下是自动提交的),以及使用者和代理的数量,系统的分区数量 __consumer_offsets 会对偏移轨迹的性能和可靠性产生直接影响。因此,对于大多数设置来说,默认值可能是一个很好的起点,但是您应该知道您需要根据应用程序对其进行优化。
__consumer_offsets
oknwwptz2#
kafka通过在分区上分割数据来实现真正的扩展,从而允许在许多服务器上分发数据。这对于用于存储消费者组数据的内部主题尤其如此。另外,由于这个设置在部署后不能更改,所以我有一个相对较大的默认值是有意义的。这使得集群可以从少数几个代理发展到几十个代理,而不必使用这个内部主题来解决扩展问题。出于开发目的,如果硬件资源非常有限,可以将其设置为1,但我不建议这样做。根据我的经验,我发现在我的开发环境中拥有50个分区的成本可以忽略不计。
2条答案
按热度按时间b4qexyjb1#
这个
__consumer_offsets
在不同的场景中使用,例如当使用者开始工作以获取初始偏移量时,或者当它提交其最后处理的偏移量时。因此,取决于它们如何提交它们的偏移量(默认情况下是自动提交的),以及使用者和代理的数量,系统的分区数量__consumer_offsets
会对偏移轨迹的性能和可靠性产生直接影响。因此,对于大多数设置来说,默认值可能是一个很好的起点,但是您应该知道您需要根据应用程序对其进行优化。oknwwptz2#
kafka通过在分区上分割数据来实现真正的扩展,从而允许在许多服务器上分发数据。这对于用于存储消费者组数据的内部主题尤其如此。
另外,由于这个设置在部署后不能更改,所以我有一个相对较大的默认值是有意义的。这使得集群可以从少数几个代理发展到几十个代理,而不必使用这个内部主题来解决扩展问题。
出于开发目的,如果硬件资源非常有限,可以将其设置为1,但我不建议这样做。根据我的经验,我发现在我的开发环境中拥有50个分区的成本可以忽略不计。