kafka知识要点

卡夫卡的位置

kafka的特点:

1.消息持久化:通过0(1)的磁盘数据结构提供数据的持久化,kafka中可以存储数据,存储量决定可以放多少数据,数据按照接受顺序发送给streaming,批量发送

2.高吞吐:每秒百万级的消息读写,消息来源广

3.分布式:强大的扩展能力

4.实时性:消费者可以即时看到生产者的message

组件:

1.broker:一台机器即一个broker,kafka一般拥有多个broker,

2.producer:消息的生产者,用来写日志的,接flume

3.consumer:日志的消费者,用来读数据的,接streaming、storm、flink等

4.topic:不同的消费者往不同的topic读数据,不同的生产者向不同的topic写数据

5.partition:topic的基础上做的进一步分层,一般命名方式为topic名字是“test”,partition名字为“test-0”、“test-1”,一个partition只对应一个consumer,一个consumer可以对应多个partition

6.zookeeper负载均衡:将topic分成多个区,每个broker存储一个或者多个partition

topic和log

topic是一个用于发布消息的分类和feed名,kafka使用分区的日志,每个分区有顺序且不变的消息队列

commit的log可以不断追加,消息在每个分区中都分配了一个叫offset的id序列,这个序列可以识别分区中的消息

topic的剖析

可以在/kafka-consumer-offset-checker.sh中查看offset,在zookeeper中:get /consumers/group_test/offsets/中得到offset

数据持久化

topic中的partition对应一个逻辑日志,日志是相同大小的一组分段文件;producer发布消息到一个分区中,broker会将数据追加到最后一个段文件中,当接收的数据达到已经设定好最大值或者经过设定好的时间后,一段文件真正flush到磁盘中,写入完成后,消息再公开给消费者,这个消息通过offset来公开。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容