時間安排
Day 1 -Kafka基礎理論(1小時),專題理論+案例(5小時),答疑- 1小時
Day 2 -專題理論+案例(4小時), 專項實現原理+演示(1.5小時),答疑- 1.5小時
學時
共7小時
講師開場與自我介紹:10min
第一天上午 3課時
1.Kafka基礎理論-概念、架構、事務、Exactly-Once (1小時)
1.1 kafka基礎概念介紹:
定義:消息系統、消息引擎、分布式消息中間件、流處理平台
價值:消息處理緩沖、流量削峰填谷、異構系統解耦、消息流式計算
1.2 kafka架構設計:
目標:高吞吐量、高可擴展性、高可用、持久化、流計算引擎
設計:生産者-Broker Server-消費者、Topic & Partition & Message
模型:點對點消息隊列queue、發布/訂閱pub/sub
1.3 主流消息引擎對比分析:Kafka VS ActiveMQ VS RabbitMQ VS Pulsar
1.4 消息事務特性: 分布式事務XA與TCC、數據庫事務與消息事務、冪等性與事務
1.5 消息傳輸保障:at most once、at least once、exactly once
1.6 分布式基礎理論:ACID、BASE、CAP(結合案例進行講解)
1.7 分布式選舉與共識算法: Bully、Raft、Paxos(結合案例進行講解)
1.8 基礎實踐:Kafka集群部署與客戶端編程(熟悉生産者API與消費者API操作)
2.Kafka Rebalance management 專題理論+案例 (2小時)
2.1 理論:消費者組與消費組實例Consumer Group&Consumer Instance
2.2 理論:Rebalance觸發條件:組成員數量、訂閱主題數量、訂閱主題分區數變更
2.3 理論:Rebalance核心原理剖析與減少Rebalance的方法
2.4 案例:本地源碼閱讀環境搭建
2.5 案例:Rebalance關鍵源碼解析:GroupMetadata、MemberMetadata、
__consumer_offsets、GroupMetadataManager、GroupCoordinator
第一天 下午 4課時
3.Kafka message consumption stuck issue resolution專題理論+案例 (2小時)
3.1 消費位移提交Committing Offsets:
位移主題、重設消費者組位移、丟失處理消息、重複處理消息
3.2 多線程消費實現:KafkaConsumer單線程設計問題、多線程消費方案對比
3.3 消費卡慢相關背景知識:
消費進度監控:kafka-consumer-groups 腳本、Consumer API 編程、JMX
操作系統調優:時間同步、句柄數、文件數、線程數、網絡、磁盤、其他OS調優
Kafka框架調優:Kafka集群核心參數配置調優、Broker Java進程JVM調優
應用層配置調優:Kafka生産者與消費者客戶端配置調優
3.4 消費卡慢案例分析:生産環境消費典型卡慢問題診斷與解決方案
4.Kafka Streams 專題理論+案例 (1小時)
4.1 流計算引擎對比:Kafka Streams VS Storm VS Spark VS Flink
4.2 Kafka Streams開發方法(上):低級Processor API
Stream、Stream Processing Application、Processor Topology
4.3 Kafka Streams應用案例(上):日志流處理應用案例
5.答疑 (1小時)
5.1 針對課前練習題問題進行答疑 (Kafka集群安裝部署與客戶端編程實踐任務)
5.2 針對當天課程的內容進行答疑
前1天課程內容回顧:10min
第二天上午 3課時
1.Kafka Streams 專題理論+案例 (2小時)
1.1 Kafka Streams開發方法(下):高級流式DSL
KStream&KTable、Join連接操作、Aggregations聚合操作、窗口操作
1.2 Kafka Streams應用案例(下):移動推送平台項目案例
2. 2. Kafka operation best practices(包括health check/monitor) 專題理論+案例 (1小時)
2.1 企業級Kafka運維實踐:巡檢、監控、參數調優、排障知識體系(贈送400頁內部資料)
2.2 主流監控工具:JMXTool VS Kafka Manager VS KafkaOffsetMonitor VS Burrow
2.3 領域最佳實踐:JMXTrans + InfluxDB (OpenTSDB) + Grafana (Davinci)
2.4 商業監控産品:Confluent Control Center
第三天下午 4課時
3.Kafka operation best practices(包括health check/monitor) 專題理論+案例 (1小時)
3.1 案例精講:運營商信令Kafka集群故障分析專題
集群背景介紹、故障現象複盤、臨時處理辦法、總體解決方案
3.2 案例精講:運營商信令Kafka集群故障知識總結
集群啓動流程、Kafka副本機制剖析、Kafka控制器組件原理、日志模塊原理
4.Kafka burrow (實現原理+簡單演示) (0.5小時)
5.Kafka Mirror Maker introduction (實現原理+簡單演示) (0.5小時)
6.KSQL development (實現原理+簡單演示) (0.5小時)
7.答疑 (1.5小時)
7.1 針對課前練習題問題進行答疑(Kafka集群系統配置調優實踐任務)
7.2 針對當天課程的內容進行答疑