Kafka MQ 生产者和消费者

Kafka MQ 生产者和消费者

Kafka 的客户端就是 Kafka 系统的用户,它们被分为两种基本类型:生产者和消费者。除 此之外,还有其他高级客户端 API------用于数据集成的 Kafka Connect API 和用于流式处理 的 Kafka Streams。这些高级客户端 API 使用生产者和消费者作为内部组件,提供了高级的 功能。

生产者

生产者 创建消息。在其他发布与订阅系统中,生产者可能被称为 发布者写入者 。一般情 况下,一个消息会被发布到一个特定的主题上。生产者在默认情况下把消息均衡地分布到 主题的所有分区上,而并不关心特定消息会被写到哪个分区。不过,在某些情况下,生产 者会把消息直接写到指定的分区。这通常是通过消息键和分区器来实现的,分区器为键生 成一个散列值,并将其映射到指定的分区上。这样可以保证包含同一个键的消息会被写到 同一个分区上。生产者也可以使用自定义的分区器,根据不同的业务规则将消息映射到分 区。第 3 章将详细介绍生产者。

消费者

消费者 读取消息。在其他发布与订阅系统中,消费者可能被称为 订阅者读者 。消费者订 阅一个或多个主题,并按照消息生成的顺序读取它们。消费者通过检查消息的偏移量来区 分已经读取过的消息。 偏移量 是另一种元数据,它是一个不断递增的整数值,在创建消息 时,Kafka 会把它添加到消息里。在给定的分区里,每个消息的偏移量都是唯一的。消费 者把每个分区最后读取的消息偏移量保存在 Zookeeper 或 Kafka 上,如果消费者关闭或重 启,它的读取状态不会丢失。

消费者是 消费者群组 的一部分,也就是说,会有一个或多个消费者共同读取一个主题。群 组保证每个分区只能被一个消费者使用。图 1-6 所示的群组中,有 3 个消费者同时读取一 个主题。其中的两个消费者各自读取一个分区,另外一个消费者读取其他两个分区。消费 者与分区之间的映射通常被称为消费者对分区的 所有权关系

通过这种方式,消费者可以消费包含大量消息的主题。而且,如果一个消费者失效,群组 里的其他消费者可以接管失效消费者的工作。第 4 章将详细介绍消费者和消费者群组。

相关推荐
Rookie小强10 分钟前
kafka的rebalance机制是什么
分布式·kafka
终端行者26 分钟前
jenkins实现分布式构建并自动发布到远程服务器上 jenkins实现自动打包编译发布远程服务器
服务器·分布式·jenkins
码农小灰15 小时前
Kafka消息持久化机制全解析:存储原理与实战场景
java·分布式·kafka
Raisy_16 小时前
05 ODS层(Operation Data Store)
大数据·数据仓库·kafka·flume
纪莫21 小时前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发生重平衡(reblanace)
java·分布式·后端·中间件·kafka·队列
想躺平的咸鱼干21 小时前
RabbitMQ 基础
java·分布式·rabbitmq·idea·amqp·消息转换器·交换机模型
要开心吖ZSH1 天前
java八股文-中间件-参考回答
微服务·中间件·消息中间件
poemyang1 天前
千亿消息“过眼云烟”?Kafka把硬盘当内存用的性能魔法,全靠这一手!
kafka·高并发·pagecache·存储架构·顺序i/o·局部性原理
KaiwuDB1 天前
KWDB 分布式架构探究——数据分布与特性
数据库·分布式
武子康1 天前
大数据-75 Kafka 高水位线 HW 与日志末端 LEO 全面解析:副本同步与消费一致性核心
大数据·后端·kafka