Kafka 和分区中的热点

问题描述 投票:0回答:1

我是 Kafka 新手,我知道只能保证一个分区内的消息顺序,不能保证跨分区的消息顺序。
我不确定这是否会产生可扩展性问题,例如如果某个分区成为热点并需要重新分区。 有什么解决办法吗?如果可能的话,以一种我们仍然使用一个分区的方式重新分区?或者这是 Kafka 的已知限制?

apache-kafka streaming scalability distributed-system messagebroker
1个回答
0
投票

仅保证一个分区内的消息顺序,不保证消息顺序 跨分区

此声明中缺少的一件事是 - 关键。消息/事件的关键很重要。只有具有相同密钥的消息才会出现在同一分区中。

所谓的热点问题只能由于“错误”的主题配置而出现

  • 您可以使用清理策略来删除具有相同密钥的旧消息。例如,如果您在某个时刻有 3 个具有相同键的事件,Kafka 会在分区中为您进行清理,并删除较旧的事件。
  • 显然可以设置“保留时间”,一段时间后消息就会被删除
  • 可以添加更多分区,但需要重新平衡。

有关主题配置的更多信息: https://docs.confluence.io/platform/current/installation/configuration/topic-configs.html

© www.soinside.com 2019 - 2024. All rights reserved.