Kafka MQ 生产者和消费者

Kafka MQ 生产者和消费者

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

生产者

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

消费者

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

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

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

相关推荐
初晴~30 分钟前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
有一个好名字39 分钟前
zookeeper分布式锁模拟12306买票
分布式·zookeeper·云原生
漫无目的行走的月亮2 小时前
Ubuntu下C语言操作kafka示例
kafka·librdkafka
yukai080084 小时前
【最后203篇系列】002 - 两个小坑(容器时间错误和kafka模块报错
分布式·kafka
老猿讲编程5 小时前
OMG DDS 规范漫谈:分布式数据交互的演进之路
分布式·dds
C++忠实粉丝5 小时前
服务端高并发分布式结构演进之路
分布式
H4_9Y6 小时前
顶顶通呼叫中心中间件mod_cti模块安全增强,预防盗打风险(mod_cti基于FreeSWITCH)
安全·中间件
高工智能汽车6 小时前
频繁拿下定点,华玉高性能中间件迈入商业化新阶段
中间件
洛神灬殇6 小时前
彻底认识和理解探索分布式网络编程中的SSL安全通信机制
网络·分布式·ssl
龙哥·三年风水7 小时前
workman服务端开发模式-应用开发-vue-element-admin封装websocket
分布式·websocket·vue