Kafka是流式處理系統(tǒng)如Spark streaming,Strom及Flink事實(shí)上的標(biāo)準(zhǔn)數(shù)據(jù)入口。本課程將分析Kafka的架構(gòu),Topic與Partition的關(guān)系,Kafka如何使用Consumer group實(shí)現(xiàn)group內(nèi)的消息單播和group間的消息廣播,Kafka如何利用Partition實(shí)現(xiàn)水平擴(kuò)展以及Kafka如何實(shí)現(xiàn)高吞吐率。并結(jié)合源碼分析Kafka實(shí)現(xiàn)數(shù)據(jù)復(fù)制,Leader election及Consumer rebalance的原理。同時(shí)介紹實(shí)用的Kafka監(jiān)控工具kafka manager。并結(jié)合實(shí)例介紹Kafka如何與其它流行的開源系統(tǒng)(如Flume,Storm,Spark streaming)集成。
第一部份. Kafka簡(jiǎn)介
1.1 為什么需要消息系統(tǒng)
1.2 Kafka設(shè)計(jì)目標(biāo)
1.3 如何安裝和使用Kafka集群
第二部份. Kafka架構(gòu)
2.1 Kafka整體架構(gòu)
2.2 Topic & Partition
2.3 Partitioner
2.4 Sync Producer vs. Async Producer
2.5 Producer重試機(jī)制
第三部份. Kafka HA
3.1 Kafka一致性重要機(jī)制之ISR
3.2 Kafka數(shù)據(jù)復(fù)制機(jī)制
3.3 Fail over
第四部份. Zookeeper與Kafka
4.1 Zookeeper典型用法
4.2 Zookeeper使用注意事項(xiàng)
4.3 Kafka如何使用Zookeeper
第五部份. Kafka領(lǐng)導(dǎo)選舉
5.1 領(lǐng)導(dǎo)選舉算法
5.2 Kafka“各自為政”領(lǐng)導(dǎo)選舉算法
5.3 Kafka基于Controller的領(lǐng)導(dǎo)選舉
第六部份. Consumer
6.1 Pull vs Push
6.2 Low level API vs. High level API
6.3 單播 vs. 多播
6.4 Consumer rebalance
第七部份. Consumer offset管理
7.1 基于Zookeeper的offset管理
7.2 基于broker的offset管理
第八部份. Consumer的stream接口
8.1 Blocking接口
8.2 Stream接口
第九部份. Kafka高性能之道
9.1 順序?qū)懘疟P
9.2 零拷貝
9.3 批處理
9.4 基于ISR的動(dòng)態(tài)平衡一致性算法
第十部份. kafka監(jiān)控工具
9.1 Zookeeper viewer
9.2 Kafka manager
第十一部份. Kafka運(yùn)維
第十二部份. Kafka性能測(cè)試
|