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之间的区别的更多相关文章

  1. socket编程中write、read和send、recv之间的区别~转载

    socket编程中write.read和send.recv之间的区别   http://blog.csdn.net/petershina/article/details/7946615 一旦,我们建立 ...

  2. C#中IEnumerable、ICollection、IList、List之间的区别

    IEnumerable.ICollection.IList.List之间的区别,本文分别分析了它的实现源码,从而总结出了它们之间的关系和不同之处. 首先我看看 IEnumerable: // 摘要: ...

  3. Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解

    简介 最近了解到很多网页开发者对jquery中的 .bind() .live() .delegate() 和 .on() 方法存在很多的疑惑.这些疑惑通常是关于它们之间真正的区别是什么啊,什么时候该使 ...

  4. socket编程中write、read和send、recv之间的区别

    http://blog.csdn.net/petershina/article/details/7946615 一旦,我们建立好了tcp连接之后,我们就可以把得到的fd当作文件描述符来使用. 由此网络 ...

  5. Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

    Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...

  6. SERVLET中的doGet与doPost两个方法之间的区别

    get和post是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串.post的参数是通过另外的 ...

  7. Python 中格式化字符串 % 和 format 两种方法之间的区别

    Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析. # 定义一个坐标值 c = (250, ...

  8. Python中的赋值(复制)、浅拷贝、深拷贝之间的区别

    1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间.  2.浅拷贝: 创建新对象,其内容是原对象的引用.    浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数.    如: ...

  9. c++中typedef、define、const、inline之间的区别

    1.typedef和#define的区别 typedef int* pInt; , b = ; const pInt p1 = &a; //p1是常量指针 pInt const p2 = &a ...

  10. ASP.NET Core中GetService()和GetRequiredService()之间的区别

    上篇文章<在.NET Core 3.0中的WPF中使用IOC图文教程>中,我们尝试在WPF中应用.NET Core内置的IOC进行编程,在解析MainWindow的时候我用了GetRequ ...

随机推荐

  1. bash命令的使用

    bash的工作特性之命令执行状态返回值和命令展开所涉及的内容及其示例演出 !脚本执行与调试 1.绝对路径执行,要求文件有执行权限 2.以sh命令执行,不要求文件有执行权限 3..加空格或source命 ...

  2. Liquid 常用语法记录

    一.什么是 Liquid Liquid 是一款专为特定需求而打造的模板引擎. Liquid 中有两种类型的标记:Output 和 Tag. Output 通常用来显示文本 {{ 两个花括号 }} Ta ...

  3. MyBatis 源码解析

    本文源码解析针对的是 MyBatis 3.4.4 MyBatis 执行流程 第一阶段 MyBatis 在这个阶段获得 Mapper 的动态代理对象,具体逻辑如下图所示: 其中,Configuratio ...

  4. 2023-05-14:你的赛车可以从位置 0 开始,并且速度为 +1 ,在一条无限长的数轴上行驶, 赛车也可以向负方向行驶, 赛车可以按照由加速指令 ‘A‘ 和倒车指令 ‘R‘ 组成的指令序列自动行驶

    2023-05-14:你的赛车可以从位置 0 开始,并且速度为 +1 ,在一条无限长的数轴上行驶, 赛车也可以向负方向行驶, 赛车可以按照由加速指令 'A' 和倒车指令 'R' 组成的指令序列自动行驶 ...

  5. 【DevCloud · 敏捷智库】如何利用核心概念解决估算常见问题(内附下载材料)

    摘要:团队用于估算时间过多,留给开发的时间会相应减少,大家工作紧张,状态不佳.团队过度承诺直接造成迭代目标不能完成,士气低落.以上弊端直接伤害敏捷团队,是敏捷团队保持稳定健康节奏的阻力. 背景 敏捷江 ...

  6. 华为云发布CodeArts APIMock服务,精准Mock,并行开发零等待!

    本文分享自华为云社区<华为云发布CodeArts APIMock服务,精准Mock,并行开发零等待!>,作者: 华为云头条. 2023年10月10日,华为云正式发布CodeArts API ...

  7. 华为中国生态大会2021举行在即,GaussDB将重磅发布5大解决方案

    摘要:企业数字化转型如火如荼,云成为数字化与新基建的关键要素,数据成为智能时代新的生产资料和企业数字化的生命,而数据库则是支撑数据生命线的底座. 本文分享自华为云社区<华为中国生态大会2021举 ...

  8. 分享两个常见的搜索算法:BFS和DFS

    摘要:本文为大家分享两个常见的搜索算法:BFS和DFS. 本文分享自华为云社区<BFS和DFS算法初探>,作者: ayin. 本次分享两个常见的搜索算法: 1.BFS 即广度优先搜索 2. ...

  9. MultipartFile与File的一些事

    摘要:某段时间碰到了中转文件的需求,需要使用HttpClient中转一下文件,在实现这个需求的过程中就用得到了MultipartFile与File. 本文分享自华为云社区<MultipartFi ...

  10. 数据丢失不用怕,火山引擎 DataLeap 提供排查解决方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当一家公司的日均处理的数据流量在 PB 级别时,巨大的任务量和数据量会对消息队列(MQ)dump 的稳定性和准确定 ...