时间安排
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 针对当天课程的内容进行答疑