【问题标题】:Kafka Compacted Topic Related QuestionsKafka 压缩主题相关问题
【发布时间】:2018-09-14 19:46:54
【问题描述】:

卡夫卡菜鸟在这里!我有两个问题:

1) 将在不同 Kubernetes pod 上运行的少数 Kafka 消费者视为同一 Kafka 消费者组的一部分。这些 pod 使用的主题是压缩主题。现在,假设其中一个吊舱下降并在一段时间后升起。现在我的问题是,有问题的消费者会收到来自该压缩 Kafka 主题的所有消息吗?或者,它会只接收失败回来后到达的主题吗?

2) 我了解 Kafka 消费者从“提交的偏移量”开始的分区接收主题。在“压缩主题”的情况下它将如何工作,因为 Kafka 将仅发送具有最新偏移量的事件

【问题讨论】:

    标签: apache-kafka kubernetes


    【解决方案1】:

    消费者对压缩主题的工作方式与非压缩主题相同。在压缩期间,如果存在具有相同键的偏移量,则仅保留最新的键,但永远不会删除压缩的偏移量,它始终指向最新的键 例如。如果偏移量 10,11,12 具有相同的键,那么只有第 12 个偏移量键在压缩后会被保留,并且任何消费者获取偏移量 10,11 或 12 时,它将获取相同的结果,即存储在偏移量 12 处的键值(如10,11 的键值被删除)

    回答你的问题 -

    1.Consumer 可以从想要的偏移量中获取,唯一的问题是如果一些偏移量被压缩,你会得到压缩后的偏移量的最新值

    2. 如前所述,消费者将继续从上次提交的偏移量中获取,如果要获取的偏移量已压缩,您可能会收到重复的消息

    具体的compaction逻辑参考下面的kafka链接 https://kafka.apache.org/documentation.html#design_compactionbasics

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 2019-09-20
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多