消息队列中的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分别消费了一次。

相关推荐
金融数据出海34 分钟前
韩国股票 API 对接指南 Seoul&KOSDAQ
后端
geovindu34 分钟前
go: Simple Factory Pattern
开发语言·后端·设计模式·golang·简单工厂模式
咕白m62535 分钟前
Python 高效添加与管理 Excel 工作表
后端·python
计算机学姐42 分钟前
基于SpringBoot的房屋交易系统
java·vue.js·spring boot·后端·spring·intellij-idea·mybatis
java1234_小锋1 小时前
SpringBoot 4 + Spring Security 7 + Vue3 前后端分离项目设计最佳实践
spring boot·后端·spring
今夕资源网1 小时前
indextts API 阅读 API 重磅升级!低延迟 + 音色管理 + 缓存全拉满 支持开源阅读小说软件,其他软件应该也通用
java·后端·spring
Rick19931 小时前
Spring Cloud 原理是什么?
后端·spring·spring cloud
掘金者阿豪2 小时前
从死守 Windows 到彻底 Mac 化:程序员一旦用了 Mac,真的很难再回去
后端
阿里加多2 小时前
第 5 章:Go 内存模型与 Happens-Before 原则
开发语言·后端·golang
掘金者阿豪2 小时前
微信图片已过期或已被清理,真的找不回了吗?完整自救指南
前端·后端