Kafka Consumer组件的功能剖析和常用组件详情

作者 : 开心源码 本文共872个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共373人阅读

Kafka组件包含Producer、Broker、Consumer和Zookeeper。本文将详情Kafka Consumer组件的功能以及设计要点。

Kafka Consumer订阅Kafka的topic,并主动从Kafka Broker拉取消息进行解决。每个Kafka Consumer自己维护最后一个已读取消息的offset,并在下次请求从这个offset开始的消息,这一点不同于ZeroMQ、RabbitMQ等其余消息队列,这种基于pull的机制大大降低了Broker的压力,使得Kafka Broker的吞吐率很高。

Kafka允许多个Consumer构成一个Consumer Group,共同读取同一topic中的数据,提高数据读取效率。同一Consumer Group下不同的Consumer对某个topic的消息消费是不会重复的。Kafka可自动为同一Group中的Consumer分摊负载,从而实现消息的并发读取,并在某个Consumer发生故障时,自动将它解决的partition转移给同Group中其余Consumer解决。

因为Kafka在大数据领域应用起来越广泛,很多大数据 开源系统均主动添加了对Kafka的支持,几种常用的Kafka Consumer组件如下图所示:

Kafka Consumer组件

Flume Kafka Source:Flume软件包中内置Kafka Consumer,可将从 Kafka Broker中读取的数据,写入Flume Channel。

Kafka-Storm:Storm软件包中内置Kafka Consumer,被封装到Storm Spout中,可从Kafka Broker中读取数据,发送给后面Storm Bolt。

Kafka-Spark Streaming:Spark Streaming软件包中内置Kafka Consumer,它可从Kafka读取数据,并将其转化为微批解决,并进一步交由Spark引擎解决。

LinkedIn Camus:LinkedIn开源的Hadoop-kafka连接件,可将Kafka中的数据导入Hadoop。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Kafka Consumer组件的功能剖析和常用组件详情

发表回复