suc5、八斗大数据培训第九期kafka.pdf
文本预览下载声明
Kafka
八斗大数据培训 Kafka
O u t L i n e
Kafka简介
Kafka Core
【实践】搭建基于Kafka消息队列系统
【实践】Flume Kafka
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
简介
• Kafka是Linkedin于2010年12月份开源的消息系统
• 一种分布式的、基于发布/订阅的消息系统
• 特点:
– 消息持久化:通过O(1)的磁盘数据结构提供数据的持久化
– 高吞吐量:每秒百万级的消息读写
– 分布式:扩展能力强
– 多客户端支持:j a 、php、python、c++ ……
– 实时性:生产者生产的message立即被消费者可见
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
基本组件
• Broker:每一台机器叫一个Broker
• Producer:日志消息生产者,用来写数据
• Consumer :消息的消费者,用来读数据
• Topic :不同消费者去指定的Topic中读,不同的生产者往不同的Topic中写
• Partition:在Topic基础上做了进一步区分分层
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
基本组件
个或多个Partition
• 多个Producer和Consumer同时生产和消费消息
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
基本组件
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
T o p i c
• 一个Topic是一个用于发布消息的分类或feed名,kafka集群使用分区的日志,
每个分区都是有顺序且不变的消息序列。
• mit的log可以不断追加。消息在每个分区中都分配了一个叫offset的id序列
来唯一识别分区中的消息。
— — 八斗大数据内部资 ,盗版必究
八斗大数据培训 Kafka
T o p i c
• 举例:若创建topic1和topic2两个topic ,且分别有13个和19个分区,则整个集
群上会相应会生成共32个文件夹
— — 八斗大数据内部资
八斗大数据培训 Kafka
T o p i c
• 无论发布的消息是否被消费,kafka都会持久化一定时间(可配置)。
• 在每个消费者都持久化这个offset在日志中。通常消费者读消息时会使offset值
线性的增长,但实际上其位置是由消费者控制,它可以按任意顺序来消费消息。
比如复位到老的offset来重新处理。
• 每个分区代表一个并行单元。
— — 八斗大数据 ,盗版必究— —
八斗大数据培训 Kafka
M e s s a g e
• message (消息)是通信的基本单位,每个producer可以向一个topic (主题)
发布一些消息。如果consumer订阅了这个主题,那么新发布的消
显示全部