【赵渝强老师】Kafka消息的消费模式

news/2025/12/17 12:23:21/文章来源:https://www.cnblogs.com/collen7788/p/19355236

1

​Kafka消费者组中的消息消费模型有两种,即:推送模式(push)和拉取模式(pull)。

image.png
点击这里查看视频讲解:【赵渝强老师】Kafka消息的消费模式

一、消息的推送模式

这种消息的消费模式需要记录消费者的消费者状态。当把一条消息推送给消费者后,需要维护消息的状态。如果这条消息已经被消费将会对消息进行标记。这种方式无法很好地保证消息被处理。如果要保证消息被处理,发送完消息后需要将其状态设置为“已发送”;而收到消费者的确认后才将其状态更新为“已消费”,这就需要Kafka记录所有消息的消费状态,显然这种方式不可取。这种方式还存在一个明显的缺点就是消息被标记为“已消费”后,其他的消费者将不能再进行消费了。

二、消息的拉取模式

由于推送模式存在一定的缺点,因此Kafka采用了消费拉取的消费模式来消费消息。该模式由每个消费者自己维护自己的消费状态,并且每个消费者互相独立地按顺序拉取每个分区的消息。消费者通过偏移量的信息来控制从Kafka中消费的消息。如下图所示。

2

这种由消费者通过偏移量进行消息消费的优点在于,消费者可以按照任意的顺序消费消息。例如,消费者可以通过重置偏移量信息重新处理之前已经消费过的消息;或者直接跳转到某一个偏移量位置并开始消费。

这里需要特别说明的是,当生产者最新写入的消息如果还没有达到备份数量,即,新写入的消息还没有达到副本数要求的时候,对消费者是不可见的。

另外,消费者如果已经将消息进行了消费,Kafka并不会立即将消息进行删除,而是会将所有的消息进行保存。Kafka会将消息持久化保存到Kafka的消息日志中。不管消息有没有被消费掉,用户可以通过设置保留时间来清理过期的消息数据。

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

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

相关文章

云端AI集成革命:MemGPT企业级长上下文记忆管理技术深度解析

云端AI集成革命:MemGPT企业级长上下文记忆管理技术深度解析 【免费下载链接】MemGPT Teaching LLMs memory management for unbounded context 📚🦙 项目地址: https://gitcode.com/GitHub_Trending/me/MemGPT 在人工智能技术快速发展…

LangFlow与CI/CD流水线集成实现AI自动化测试

LangFlow与CI/CD流水线集成实现AI自动化测试 在AI应用快速迭代的今天,一个常见的困境是:数据科学家花了几小时在Jupyter Notebook里调通了一个问答流程,结果部署到生产环境时却因为依赖版本不一致或配置遗漏而失败。更糟的是,当团…

电流探头能否测量交流冲击电流及相关测试要点

在电力电子调试、电气设备运维及故障诊断等核心场景中,交流冲击电流的精准测量直接关系到设备性能评估与安全保障。这类电流普遍具备短时瞬态、高幅值峰值、陡峭上升沿的典型特征,典型如电机启动浪涌电流、电容合闸冲…

Shell脚本安全终极指南:5步构建坚不可摧的防护体系

Shell脚本安全终极指南:5步构建坚不可摧的防护体系 【免费下载链接】styleguide Style guides for Google-originated open-source projects 项目地址: https://gitcode.com/gh_mirrors/styleguide4/styleguide 你是否曾在执行Shell脚本时担心过潜在的安全风…

在 SAP 里,“平行分类账(Parallel Ledger)” 并不是让同一笔业务在 BKPF 里生成多套凭证号,而是“一行 BKPF 记录 + 多行 ACDOCA/FAGLFLEXA 记录” 的模

在 SAP 里,“平行分类账(Parallel Ledger)” 并不是让同一笔业务在 BKPF 里生成多套凭证号,而是“一行 BKPF 记录 多行 ACDOCA/FAGLFLEXA 记录” 的模型:BKPF 依旧只有 1 张凭证、1 个凭证号(公司代码编号…

IsaacLab终极版本兼容性指南:快速解决Isaac Sim升级难题

IsaacLab终极版本兼容性指南:快速解决Isaac Sim升级难题 【免费下载链接】IsaacLab Unified framework for robot learning built on NVIDIA Isaac Sim 项目地址: https://gitcode.com/GitHub_Trending/is/IsaacLab 还在为IsaacLab与不同Isaac Sim版本之间的…

在 SAP 里,想让“同一笔业务”在多个账套(平行分类账)中生成不同编号的会计凭证,标准做法就是

在 SAP 里,想让“同一笔业务”在多个账套(平行分类账)中生成不同编号的会计凭证,标准做法就是: 给每个分类账维护一套独立的“凭证类型-编号范围”映射。系统过账时,会按照各自分类账的映射去取号&#xff…

终极指南:3种强制开启USB调试模式的实用方案

终极指南:3种强制开启USB调试模式的实用方案 【免费下载链接】手机强制开启USB调试模式 手机强制开启USB调试模式在安卓开发或者进行某些高级操作时,开启手机的USB调试模式是必要的步骤 项目地址: https://gitcode.com/open-source-toolkit/7832f …

如何快速掌握OpenCLIP:多模态AI的完整实践指南

如何快速掌握OpenCLIP:多模态AI的完整实践指南 【免费下载链接】open_clip An open source implementation of CLIP. 项目地址: https://gitcode.com/GitHub_Trending/op/open_clip 想要在AI领域脱颖而出?OpenCLIP作为多模态对比学习的开源实现&a…

FileBrowser API扩展功能:一键配置效率提升的完整指南

FileBrowser API扩展功能:一键配置效率提升的完整指南 【免费下载链接】filebrowser 📂 Web File Browser 项目地址: https://gitcode.com/gh_mirrors/fi/filebrowser 还在手动处理文件管理?每天重复着上传、下载、权限设置的枯燥操作…

终极窗口切换神器:AltTab让你的macOS效率翻倍

终极窗口切换神器:AltTab让你的macOS效率翻倍 【免费下载链接】alt-tab-macos Windows alt-tab on macOS 项目地址: https://gitcode.com/gh_mirrors/al/alt-tab-macos 还在为macOS系统自带的CmdTab只能切换应用而无法直达具体窗口而烦恼吗?频繁…

5分钟学会Pts物理引擎:从零构建粒子碰撞系统

5分钟学会Pts物理引擎:从零构建粒子碰撞系统 【免费下载链接】pts A library for visualization and creative-coding 项目地址: https://gitcode.com/gh_mirrors/pt/pts 你是否曾经想要在网页上创建令人惊叹的物理效果?Pts物理引擎就是你的完美选…

gumbo-parser完整教程:C语言HTML5解析终极指南

gumbo-parser完整教程:C语言HTML5解析终极指南 【免费下载链接】gumbo-parser An HTML5 parsing library in pure C99 项目地址: https://gitcode.com/gh_mirrors/gum/gumbo-parser 在当今数据驱动的互联网时代,HTML解析已成为C语言开发者必须掌握…

manga-image-translator终极交互设计:如何用智能界面简化复杂翻译流程

manga-image-translator终极交互设计:如何用智能界面简化复杂翻译流程 【免费下载链接】manga-image-translator Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/ 项目地址: https://gitcode.com/gh_mirrors/ma/manga-image-translator…

11、Unix 实用工具创建与系统调整

Unix 实用工具创建与系统调整 1. 日程安排脚本 1.1 日程查看 可以使用 agenda 脚本查看当天的日程安排。示例如下: $ agenda On the agenda for today:Penultimate day of Marchsleep late (hopefully)Check in with Steve about dinner日程安排信息存储在 .agenda 文…

第七十五篇:Kubernetes入门:Pod, Deployment, Service核心概念深度解析

一、引言:从单机编排到集群编排的革命 1.1 容器编排的演进历程 容器技术发展至今,已经从单机运行演变为大规模集群编排的时代。让我们回顾这一演进路径: 容器技术演进 {"2000年代": "chroot -> LXC -> 进程隔离技术&qu…

多智能体协同决策:应对复杂业务场景的技术突围之路

在数字化转型的浪潮中,企业正面临着前所未有的挑战。医疗诊断需要同时处理影像识别、病历分析和药物交互,金融风控必须兼顾市场预测、欺诈检测与合规审查,这些复杂场景已远超单一智能体的能力边界。500-AI-Agents-Projects项目通过跨行业实践…

12、Unix系统优化与管理脚本实用指南

Unix系统优化与管理脚本实用指南 在Unix系统的使用过程中,我们常常会遇到各种问题,比如grep功能不够强大、处理压缩文件繁琐、文件压缩效果不佳以及难以准确分析磁盘使用情况等。下面将为大家介绍一些实用的脚本,帮助我们解决这些问题。 增强grep功能的cgrep脚本 部分版本…

AI绘图革命:用自然语言创建专业图表的新时代

AI绘图革命:用自然语言创建专业图表的新时代 【免费下载链接】next-ai-draw-io 项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io 还在为制作复杂的流程图和架构图而头疼吗?传统的图表工具需要你手动拖拽元素、调整布局、设置…

精通FreeRTOS与WolfSSL v5.6.4集成:嵌入式安全通信深度实战

精通FreeRTOS与WolfSSL v5.6.4集成:嵌入式安全通信深度实战 【免费下载链接】FreeRTOS Classic FreeRTOS distribution. Started as Git clone of FreeRTOS SourceForge SVN repo. Submodules the kernel. 项目地址: https://gitcode.com/GitHub_Trending/fr/Free…