消息队列中的topic,partition,offset,broker,消费者组

1个topic的消息会分布到多个partition分区中,每个partition中的每条消息都有一个唯一编号 offset(消费者可以通过记录这个offset来知道自己读到了哪个位置,下次接着从这往下读)

一个broker中存着来自不同topic的partition,比如topicA的partition1,topicB的partition2,topicC的partition3......,所以从物理存储来看:topic其实只是一个概念,并不是真实存在的

同一个消费组内的不同消费者是"同事"关系。它们共同分担一个 Topic 的所有 Partitions,目的是为了"更快地"处理完所有消息。一个消息只会被组内的一个"同事"处理。

不同的消费组各自独立地消费**同一个 Topic(前提是这些消费者组都订阅了这个topic)**的完整数据,互不干扰。一个消息会被每一个"订阅者"(消费组)都处理一次。

复制代码

在 Group-A 内部: 组内的某一台机器(比如 Consumer-A1)会获取并处理消息 M。组内的其他机器(Consumer-A2, Consumer-A3)不会再处理这条消息。 在 Group-B 内部: 组内的某一台机器(比如 Consumer-B1)会获取并处理同一条消息 M。 在 Group-C 内部: 组内的某一台机器(比如 Consumer-C1)也会获取并处理同一条消息 M 最终结果是:消息M被 Consumer-A1、 Consumer-B1 和Consumer-C1分别消费了一次。

相关推荐
用户302822530685 小时前
你的 API 只返回 30 条,为什么数据库还是被打满了?
数据库·后端·架构
Hespethorn5 小时前
MQTT 的四个工程暗礁:遗嘱、保留消息、ACL 与主题设计
后端·物联网
打工仔折腾 AI5 小时前
Spring AI + Qwen 周报生成实战:从原始日志到人工确认卡
人工智能·后端·python·spring·elasticsearch·ai agent 实战
杨文说AI与数字化5 小时前
分时预约系统的库存模型:为什么'加个预约功能'必然出现超卖与假满
后端
Darling噜啦啦5 小时前
# MySQL + Milvus = PostgreSQL?一张表搞定 AI Agent 的长时记忆(附完整代码)
后端·postgresql·orm
用户713874229005 小时前
在 .NET 中使用 AWS Secrets Manager:Config 与 Client 详解
后端
福大大架构师每日一题5 小时前
2026-10-16:交替数列的最大元素。用go语言,给定三个整数 n、s、m。现在要构造一个包含 n 个整数的序列,其中第一个数必须等于 s。序列中相邻数字的
后端
yunwei375 小时前
eBPF 入门实践教程:BPF Token,安全的委托式权限与程序加载
linux·后端·性能优化
136096757235 小时前
旧 SQL 在新 PG 上能不能跑
后端
SamDeepThinking5 小时前
配货单发货数为空告警误报治理:写表延迟复核方案
java·后端·架构