Kafka的消息保留策略是怎样的? (基于时间log.retention.hours或大小log.retention.bytes,可配置删除或压缩策略)

Kafka 消息保留策略详解

1. 核心保留机制
# Broker 基础配置示例(server.properties)
log.retention.hours=168    # 默认7天保留时间
log.retention.bytes=1073741824  # 1GB 大小限制
2. 策略类型对比
策略类型配置参数执行逻辑适用场景
时间删除log.retention.ms/hours定期删除过期消息(默认策略)日志类数据
大小删除log.retention.bytes达到阈值后删除旧数据存储受限环境
日志压缩cleanup.policy=compact保留key最新版本(offset不重置)关键状态数据(如账户余额)
3. 压缩策略工作流程
┌───────────────────────┐
│  原始日志             │
│  key=A, value=100     │
│  key=B, value=200     │
│  key=A, value=150  → 压缩 →  key=A, value=150
│  key=C, value=300     │       key=B, value=200
└───────────────────────┘       key=C, value=300
4. 配置实践建议
# Topic级别配置示例
bin/kafka-configs --alter --entity-type topics \
--entity-name orders \
--add-config retention.ms=604800000,cleanup.policy=compact \
--bootstrap-server localhost:9092
5. 策略组合规则
  • 时间和大小策略同时生效(任一条件触发即删除)
  • 压缩策略需要显式单独启用
  • 建议配置(金融交易场景):
log.cleaner.enable=true
log.cleanup.policy=compact,delete
log.retention.bytes=-1  # 禁用大小限制
log.retention.ms=259200000  # 3天保留
6. 数据删除过程
活跃段(Active Segment) → 只写不删
闭合段(Closed Segments)→ 根据策略删除/压缩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五一の自言自语 2025/5/5

今天开学了,感觉还没玩够。 假期做了很多事,弄了好几天的路由器、监控、录像机,然后不停的出现问题,然后问ai,然后解决问题。这次假期的实践,更像是计算机网络的实验,把那些交换机,…

安卓基础(静态方法)

静态方法的特点​​ ​​无需实例化​​:直接用 类名.方法名() 调用。 ​​不能访问实例成员​​:只能访问类的静态变量或静态方法。 ​​内存中只有一份​​:随类加载而初始化,生命周期与类相同。 // 工具类 MathUtils publi…

EasyRTC嵌入式音视频通话SDK驱动智能硬件音视频应用新发展

一、引言 在数字化浪潮下,智能硬件蓬勃发展,从智能家居到工业物联网,深刻改变人们的生活与工作。音视频通讯作为智能硬件交互与协同的核心,重要性不言而喻。但嵌入式设备硬件资源受限,传统音视频方案集成困难。EasyRT…

《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》封面颜色空间一图的选图历程

禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》 学图像处理的都知道,彩色图像的颜色空间很多,而且又是三维,不同的角度有不同的视觉效果,MATLAB的图又有有box和没有box。…

Flutter 异步原理-Zone

前言 Zone 是 Dart 异步模型中的核心机制,主要用于: 隔离异步上下文,形成逻辑上的执行环境。捕获未处理的异步异常,保证系统稳定。自定义异步任务的调度行为(比如微任务、Timer)。 什么是 Zone&#xff1…

聊一聊自然语言处理在人工智能领域中的应用

目录 一、智能交互与对话系统 二、 信息提取与文本分析 三、机器翻译与跨语言应用 四、内容生成与创作辅助 五、 搜索与推荐系统 六、垂直领域的专业应用 七、关键技术支撑 自然语言处理NLP属于AI的一个子领域,专注于让机器理解和生成人类语言,比…

Redis的过期设置和策略

Redis设置过期时间主要有以下几个配置方式 expire key seconds 设置key在多少秒之后过期pexpire key milliseconds 设置key在多少毫秒之后过期expireat key timestamp 设置key在具体某个时间戳(timestamp:时间戳 精确到秒)过期pexpireat key millisecon…

vite:npm 安装 pdfjs-dist , PDF.js View 预览功能示例

pdfjs-dist 是 Mozilla 的 PDF.js 库的预构建版本,能让你在项目里展示 PDF 文件。下面为你介绍如何用 npm 安装 pdfjs-dist 并应用 pdf.js 和 pdf.worker.js。 为了方便,我将使用 vite 搭建一个原生 js 项目。 1.创建项目 npm create vitelatest pdf-v…

【Android】动画原理解析

一,基础动画 基础动画,有四种,分别是平移(Translate)、缩放(Scale)、Rorate(旋转)、Alpha(透明度),对应Android中以下四种。 1,Animation基类 1,基本概念 1,插值器 插值器的作用,是控制动画过程的参数,可以理解为 时间(t)与动画进程(d)的函数,动画仅…

手撕基于AMQP协议的简易消息队列-2(所用第三方库的介绍与简单使用)

第三方库的介绍 Protobuf 什么是Protobuf(Protocol Buffer)? Protobuf是数据结构序列化和反序列化框架 Protobuf的特点有哪些? 通用性:语⾔⽆关、平台⽆关。即 ProtoBuf ⽀持 Java、C、Python 等多种语⾔&#xf…

Altera系列FPGA实现图像视频采集转HDMI/LCD输出,提供4套Quartus工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目Altera系列FPGA相关方案推荐 3、设计思路框架工程设计原理框图输入Sensor之-->OV7725摄像头输入Sensor之-->OV5640摄像头输入Sensor之-->串口传图输入图像缓…

ABP vNext 集成 CAP + RabbitMQ 实现可靠事件总线

🚀 ABP vNext 集成 CAP RabbitMQ 实现可靠事件总线 在分布式系统中,事件总线是实现服务解耦与最终一致性的核心手段。本文将以 ABP vNext 8.1 为基础,手把手教你如何集成 CAP RabbitMQ 构建可靠的事件驱动架构。 🎯 本文适用于…

Linux 服务器静态 IP 配置初始化指南

✅ 第一步:确认网络管理方式 运行以下命令判断系统使用的网络管理服务: # 检查 NetworkManager 是否活跃 systemctl is-active NetworkManager# 检查 network(旧服务)是否活跃 systemctl is-active network或者检查配置路径&…

C++ 工具链与开发实践:构建安全、高效与创新的开发生态

引言 在 C 的技术演进中,工具链的革新与开发实践的迭代始终是推动语言生命力的核心动力。从内存安全的攻防体系到嵌入式设备的能效优化,从跨平台开发的降本增效到开发者社区的生态构建,C 正通过工具链与方法论的双重升级,应对复杂…

跨浏览器自动化测试的智能生成方法

一、背景与挑战:跨浏览器测试为什么“难”? 在现代Web应用开发中,跨浏览器兼容性是用户体验的底线保障。面对Chrome、Firefox、Safari、Edge乃至IE、移动浏览器等多种运行环境,开发者与测试人员常面临: 相同DOM在不同…

【Hive入门】Hive安全管理与权限控制:用户认证与权限管理深度解析

目录 引言 1 Hive安全管理体系概述 2 Hive用户认证机制 2.1 Kerberos集成认证 2.1.1 Kerberos基本原理 2.1.2 Hive集成Kerberos配置步骤 2.1.3 Kerberos认证常见问题排查 2.2 LDAP用户同步 2.2.1 LDAP协议概述 2.2.2 Hive集成LDAP配置 2.2.3 LDAP与Hive用户同步架构…

0X. Linux嵌入式系统(课堂笔记)

目录 一. 开发板桥接 二. 开发板白屏 三. 0324-MPU6050开发 3.1 函数详解 3.2 常用 ioctl 请求码(request) 3.3 头文件详解 四. 获取鼠标信息 4.1 获取鼠标信息 4.2 内核修改并编译 五. QT基础使用 六. 内核打印Hello world 七. 内核GPIO …

qml中的TextArea使用QSyntaxHighlighter显示高亮语法

效果图,左侧显示行号,右侧用TextArea显示文本内容,并且语法高亮。 2025年5月8号更新 1、多行文本注释 多行文本注释跟普通的高亮规则代码不太一样,代码需要修改,这里以JavaScript举例。 先制定多行文本注释规则&…

【Python从入门到精通】--‘@‘符号的作用

在Python中,符号主要有三种用途:装饰器(Decorator)、矩阵乘法运算符(Python 3.5)以及类型提示中的修饰符(如typing)。 目录 1.--装饰器(Decorator) 2.--矩…

VAE和Stable Diffusion的关系

文章目录 ✅ 简单回顾:什么是 VAE?🔄 Stable Diffusion 和 VAE 的关系:🎯 编码器:💥 解码器: 🤔 那 Stable Diffusion 本身是 VAE 吗?🧠 简要对比…