[转帖]Kafka中offsets.retention.minutes和log.retention.minutes之间的区别

kafka,offsets,retention,minutes,log,之间,区别 · 浏览次数 : 0

小编点评

**log.retention.minutes**: 消息日志每分钟保留的日志文件数量。 **log.retention.ms**: 消息日志每分钟保留的毫秒数。 **log.retention.hours**: 每小时保留的日志文件数量。 **offset.retention.minutes**: 偏移量日志每分钟保留的日志文件数量。 **log.retention.days**: 每个日期保留的日志文件数量。 **log.retention.weeks**: 每个星期保留的日志文件数量。 **log.retention.months**: 每个月保留的日志文件数量。 **重要性**: * `log.retention.minutes`:消息日志保留的分钟数。 * `log.retention.ms`:消息日志保留的毫秒数。 * `log.retention.hours`:消息日志保留的小时数。 * `log.retention.days`:每个日期保留的日志文件数量。 * `log.retention.weeks`:每个星期保留的日志文件数量。 * `log.retention.months`:每个月保留的日志文件数量。

正文

https://www.cnblogs.com/lestatzhang/p/10771115.html

 

前言

在Kafka中,我们可能会发现两个与retention相关的配置:

  • log.retention.minutes
  • offsets.retention.minutes

那么它们之前的差别是什么呢?

定义

首先让我们看看它们在官方文档中的定义

名称描述类型默认值有效值重要性
log.retention.minutes The number of minutes to keep a log file before deleting it (in minutes), secondary to log.retention.ms property. If not set, the value in log.retention.hours is used
在删除日志文件之前保留日志文件的分钟数(以分钟为单位),优先级弱于 log.retention.ms。 如果未设置,则使用log.retention.hours中的值
int null  
offsets.retention.minutes Log retention window in minutes for offsets topic
主题偏移量日志文的保留时长(分钟)
int 1440 [1,...]

两者的差别

log.retention.minutes设定的是消息日志的保留时长,而offsets.retention.minutes则是记录topic的偏移量日志的保留时长。

偏移量是指向消费者已消耗的最新消息的指针。 比如,你消费了10条消息,那么偏移量将移动10个位置。 这个偏移量会被记录到日志中,以便我们下次消费时知道应该从哪个offset开始继续消费。
而offsets.retention.minutes允许我们将偏移量重置,即它会清除过期的记录主题偏移量的日志,一旦记录主题偏移量的日志被清楚,我们将不知道之前消费到具体哪个offset。这个设置并不会影响消息日志的保留时间。

比如我们将offsets.retention.minutes设为10,即十分钟。然后最后一次主题A的消费偏移量是100,但是十分钟内我们没有继续消费,该记录主题A的消费偏移量100的日志将会被清除,也就是下次继续消费主题A的消息时,我们不知道上一次消费哪里了(注意,主题A所存储的消息依旧在broker上,并没有被删除), 在这种情况下,将会根据auto.offset.reset 的设置,读取最早(smallest)/最晚(largest)的消息。

一般来说,记录topic的偏移量日志的保留时长需要设置的比消息日志的保留时长更大。

与[转帖]Kafka中offsets.retention.minutes和log.retention.minutes之间的区别相似的内容:

[转帖]Kafka中offsets.retention.minutes和log.retention.minutes之间的区别

https://www.cnblogs.com/lestatzhang/p/10771115.html 前言 在Kafka中,我们可能会发现两个与retention相关的配置: log.retention.minutes offsets.retention.minutes 那么它们之前的差别是什么呢

[转帖]Kafka查看topic、consumer group状态命令

https://www.cnblogs.com/AcAc-t/p/kafka_topic_consumer_group_command.html 最近工作中遇到需要使用kafka的场景,测试消费程序启动后,要莫名的过几十秒乃至几分钟才能成功获取到到topic的partition和offset,而后开

[转帖]Kafka关键参数设置

https://www.cnblogs.com/wwcom123/p/11181680.html 生产环境中使用Kafka,参数调优非常重要,而Kafka参数众多,我们的java的Configuration代码中,经常设置的参数如下: Properties props = new Propertie

[转帖]【Kafka】(二)Kafka去Zookeeper化,kraft模式搭建

1.简介 由于zookeeper慢慢的成了kafka的瓶颈,kafka提出了去zookeeper化的概念,并在2.8版本之后版本都包含了kraft模式,也就是不需要使用zookeeper了,目前这种模式还不成熟,企业中使用kafka还是推荐使用zk+kafka的方式,否则可能会出现意想不到的错误。

[转帖]Kafka 与RocketMQ 落盘机制比较

https://www.jianshu.com/p/fd50befccfdd 引言 前几期的评测中,我们对比了Kafka和RocketMQ的吞吐量和稳定性,本期我们要引入一个新的评测标准——软件可靠性。 何为“可靠性”? 先看下面这种情况:有A,B两辆越野汽车,在城市的周边地区均能很好应对泥泞的路况

[转帖]Kafka常见使用场景与Kafka高性能之道

https://juejin.cn/post/6958997115012186119 消息队列使用场景 队列,在数据结构中是一种先进先出的结构,消息队列可以看成是一个盛放消息的容器,这些消息等待着各种业务来处理。 消息队列是分布式系统中重要的组件,kafka就可以看做是一种消息队列,其大致使用场景:

[转帖]Jmeter笔记:使用Jmeter向kafka发送消息

https://www.cnblogs.com/daydayup-lin/p/14124816.html 日常工作中有时候需要向kafka中发送消息来测试功能或者性能,这时候我们怎么办呢?我之前是自己写个简单的python脚本来模拟发送消息的,其实用Jmeter来实现也比较简单方便。 1、我们必须有

[转帖]Kafka可靠性之HW与Leader Epoch

《深入理解Kafka:核心设计与实现原理》是基于2.0.0版本的书 在这本书中,终于看懂了笔者之前提过的几个问题 准备知识 1、leader里存着4个数据:leader_LEO、leader_HW、remote_LEO集合、remote_HW集合 2、follower里只保存自身的:follower

[转帖]Kafka之ack机制

前言 之前的博客里说了,Kafka的消息同步是一种ISR机制,本质上是“完全同步”的一种优化。 都在说,消息被ISR中所有副本都写入才算写入成功。但是这样未免定的太死板了,所以,Kafka给出了我们选择。 这个选择就是ack机制 生产者参数 request.required.acks 是produc

[转帖]Springboot配置kafka用户名密码

华为云开发者联盟 Springboot配置kafka用户名密码 Springboot配置kafka用户名密码 SpringBoot配置kafka用户名密码 Springboot配置kafka用户名密码 今天在写配置kafka用户名密码的yml文件时遇到IDE无法直接.出sasl的问题,过程中也尝试过