Kafka是流式處理系統(tǒng)如Spark streaming,Strom及Flink事實上的標準數(shù)據(jù)入口。本課程將分析Kafka的架構,Topic與Partition的關系,Kafka如何使用Consumer group實現(xiàn)group內的消息單播和group間的消息廣播,Kafka如何利用Partition實現(xiàn)水平擴展以及Kafka如何實現(xiàn)高吞吐率。并結合源碼分析Kafka實現(xiàn)數(shù)據(jù)復制,Leader election及Consumer rebalance的原理。同時介紹實用的Kafka監(jiān)控工具kafka manager。并結合實例介紹Kafka如何與其它流行的開源系統(tǒng)(如Flume,Storm,Spark streaming)集成。
第一部份. Kafka簡介
1.1 為什么需要消息系統(tǒng)
1.2 Kafka設計目標
1.3 如何安裝和使用Kafka集群
第二部份. Kafka架構
2.1 Kafka整體架構
2.2 Topic & Partition
2.3 Partitioner
2.4 Sync Producer vs. Async Producer
2.5 Producer重試機制
第三部份. Kafka HA
3.1 Kafka一致性重要機制之ISR
3.2 Kafka數(shù)據(jù)復制機制
3.3 Fail over
第四部份. Zookeeper與Kafka
4.1 Zookeeper典型用法
4.2 Zookeeper使用注意事項
4.3 Kafka如何使用Zookeeper
第五部份. Kafka領導選舉
5.1 領導選舉算法
5.2 Kafka“各自為政”領導選舉算法
5.3 Kafka基于Controller的領導選舉
第六部份. 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 順序寫磁盤
9.2 零拷貝
9.3 批處理
9.4 基于ISR的動態(tài)平衡一致性算法
第十部份. kafka監(jiān)控工具
9.1 Zookeeper viewer
9.2 Kafka manager
第十一部份. Kafka運維
第十二部份. Kafka性能測試
|