首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache在使用消息时进行清理

Apache在使用消息时进行清理
EN

Stack Overflow用户
提问于 2019-07-16 13:50:26
回答 2查看 404关注 0票数 0

使用Apache及其保留机制,我正在考虑以下情况:

  • 使用者获取第一批带有偏移量1-5的消息。
  • 清除器删除前10条消息,因此主题现在有了11-15的抵消。
  • 在下一次民意测验中,消费者将获得下一批带有偏移量11-15的批。

正如你所看到的,消费者失去了抵消6-10。

问,这种情况有可能发生吗?换句话说,清洁工会在活跃的消费者时执行吗?如果是,消费者是否能够以某种方式认识到这一差距?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-16 14:15:46

是的,这种情况是可能发生的。具体的步骤会有一点不同:

  • 使用者获取消息1-5
  • 消息1-10被删除
  • 使用者尝试获取消息6,但此偏移量超出范围。
  • 使用者使用其偏移复位策略auto.offset.reset查找新的有效偏移量。
    • 如果设置为latest,则使用者移动到分区的末尾。
    • 如果设置为earliest,则使用者移动到偏移11
    • 如果none或unset,使用者将抛出异常。

为了避免这种情况,您应该监视您的消费者组的lead。它与延迟类似,但它显示了用户离分区开始的距离有多远。在接近开始的时候,在消息被消耗之前就有被删除的风险。

如果使用者已接近极限,则可以动态添加更多的使用者或在需要时增加主题保留大小/时间。

auto.offset.reset设置为none将引发异常,如果发生这种情况,其他值将只记录它。

票数 1
EN

Stack Overflow用户

发布于 2019-07-16 14:16:33

  • 问,这种情况有可能发生吗?如果消息在使用之前已经跨越了TTL (生存时间)期间,则清洁器会在活动使用者是是的情况下执行吗?
  • 消费者是否能够在某种程度上认识到这一差距?如果您怀疑您的配置(高用户延迟、低TTL)可能导致此情况,则使用者应跟踪偏移量。of命令为您提供了一个消费者组中所有消费者的信息位置,以及他们在日志末尾的距离。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57058858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档