Pulsar与Kafka中消息保留策略

log.retention.ms 消息时间
Kafka通常根据时间决定数据可以保留多久。默认使用log.retention.hours参数配置时间,默认值是168小时,也就是一周。除此之外,还有其他两个参数,log.retention.minutes和log.retention.ms,这三个参数作用是一样的,都是决定消息多久以会被删除,不过还是推荐使用log.retention.ms,如果指定了不止一个参数,Kafka会优先使用最小值的那个参数。
log.retention.bytes 消息大小
通过保留的消息字节数来判断小是否过期,它的值通过参数log.retention.bytes来指定,作用在每一个分区上,也就是说如果一个包含8个分区的主题,并且log.retention.bytes被设置为1GB,那么这个主题最多可以保留8GB的数据,所以,当主题的分区个数增加时,整个主题可以保留的数据也随之增加。

那么在pulsar中有没有什么策略可以删除长时间未被消费的数据呢?

默认情况下,Pulsar 会永久存储所有未确认的消息。您可能想知道,如果消息由于某种原因长时间未确认,游标是否保持静态。实际上,我们应该避免存在大量未确认消息的情况,因为这可能意味着对磁盘空间的巨大压力。在这种情况下,光标是否移动取决于Pulsar中的生存时间 (TTL)。

通过设置 TTL 策略,我们可以定义未确认消息的保留期。在配置的时间范围之后,Pulsar 会自动确认这些消息,强制移动光标。这也意味着这些消息已准备好被删除。可以在 namesapce 级别下,通过指定 set-message-ttl 对 TTL 进行设置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值