栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【kafka学习笔记】初识Kafka

【kafka学习笔记】初识Kafka

一、什么是Kafka

        分布式消息发布与订阅系统(消息发布与订阅系统:可以简单理解为订阅公众号,只有你订阅了公众号,成为公众号的粉丝,才能收到公众号发送的信息。但与订阅公众号不同的是,消息订阅系统中,消费者(订阅消息的人)只能看到自己订阅的消息,而我们可以通过搜索阅读没有关注的公众号发布的信息)。Kafka是通过生产者发送数据,消费者订阅相关的topic来获取指定的数据。

二、名词解释

1、批次:一组同属于一个主题和分区的消息;

2、消息:Kafka的数据单元成为消息;

3、主题:一类消息的统称,消费者通过订阅不同的主题来达到获取不同消息的目的;

4、分区:一个消息日志,消息以追加的方式写入分区(消息队列),分区内消息有序,分区间的消息可能无序;

5、流:一组生产者到消费者的数据;

5、生产者:创建消息的服务叫做生产者,将消息发布到特定的主题中(也可以通过消息健和分区器将消息写入制定的分区)

6、消费者:读取消息的服务叫做消费者,通过订阅一个或多个主题来读取指定的消息(按照消息的生产顺序读取)。通过偏移量区分已经读取过的消息(偏移量是一个递增的整数值),消费者关闭或重启,偏移量也不会丢失。

7、消费者群组:一群订阅同一主题的消费者,群组保证了每个分区只能被一个消费者消费,消费者与分区之间的映射关系成为所有权关系

8、broker:一个独立的Kafka服务器,负责接收生产者的消息并给消息设置偏移量,提交消息到磁盘。broker为消费者服务,对读取分区消息的请求作出响应并返回磁盘上的消息。

9、集群:一群broker的集合,每个集群都有一个broker充当集群控制器(负责将分区分配给broker与监控broker),同时,每个broker中有一个分区作为首领,其他分区从属于首领分区。一个分区可以分配给多个broker(消息全量复制,保证broker失效影响最小)。

三、Kafka的优点

1、解耦:生产者与消费者只要遵守数据约束,就能随意扩充字段

2、高吞吐量、低延迟

3、扩展性:支持热扩展(在集群启动后,可以直接增加机器而不需要重启)

4、容错性:通过分区复制保证broker失效的影响最小

5、支持多种语言

四、Kafka的缺点

1、消息丢失:当ack=0时,可能存在消息丢失情况

2、消息重复:ack=1/ack=all时,生产者没有收到确认,可能会重复发送消息

3、消息乱序:分区间的消息可能乱序

4、消息堆积:如果生产者性能远高于消费者,可能存在大量消息积压无法及时被消费

五、Kafka的用途

1、日志收集

2、消息系统:生产者与消费者解耦

3、用户活动追踪

4、流式处理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/748582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号