课程时长
3天(6小时/天)
课程大纲
第⼀天:Kafka开发剖析
针对Kafka的深⼊概念进⾏分析,并着重对Kafka 开发中的客户端相关原理、调优进⾏分析,要求学院对Kafka基本概念,如partition、broker、topic、segment等概念有完整的了解,同时要求学员熟练掌握Java编程语⾔。
模块⼀:Kafka 核⼼原理深⼊解析 (1h)
Leader 分区
副本
Controller
分区再平衡
消费者组
⽇志位移
Coordinator
LEO、LSO、AR、ISR、HW 概念
模块⼆:Kafka 开发原理 (1.5h)
客户端交互命令
Kafka Producers
Kafka Consumers
订阅Topic
消费者组原理
Consumer和Broker之间的通信协议
Partitions再平衡
消费者配置选项
重试容错
事务处理
Kafka Clients与ZooKeeper
模块三:Kafka 开发最佳实践 (2.5h)
参数维度分析(吞吐量、低延时、数据可靠性、服务可⽤性)
Producers调优
Consumers调优
处理⼤信息
模块四:Kafka 流式开发利器KSQL DB (1h)
KSQLDB的介绍与初步适⽤
KSQLDB的内核详解
第⼆天:Flink开发必知必会
对Flink开发必须掌握的知识及其原理和使⽤⽅法进⾏深⼊介绍
模块⼀:Flink 快速⼊门 (1h)
Flink与实时计算介绍
Flink 基本概念介绍
Flink 流批⼀体基本概念
Flink vs Spark Streaming vs Storm
Flink Runtime介绍
模块⼆:状态计算与管理 (1.5h)
Flink 有状态计算原理
Flink 分布式容错原理
Flink 状态后端管理
Flink 中的序列化介绍
模块三:时间与⽔印管理 (1h)
事件时间和⽔印介绍
详解⽔印
处理函数和定时器
模块四: Flink SQL 分析与使⽤ (2.5h)
Flink SQL介绍
动态表
时态表
Join原理与操作
CDC 和 Changelog流
函数和类型系统
内置函数
UDF的使⽤与开发
Table API 和 Datastream API 的集成
Flink回撤机制详解与案例实践
Flink DDL SQL源码解析
第三天:Flink开发实战最佳实践
对⽣产中常见的Connector、开发最佳实践、问题排查、性能调优进⾏介绍,最后⽤两个实际场景分
析讲解实时数仓和流批⼀体系统如何构建。
模块五: Flink Connector 分析与使⽤ (1h)
Connectors 介绍
Kafka Connector原理分析
⾃定义Connector
模块六:Flink开发⽣产实战 (1.5h)
Flink 应⽤开发扩展设计模式
Flink 部署的资源容量评估
Flink 开发的调试与测试
Flink 程序配置
Flink ⾼可⽤原理分析
Flink 的⽣产部署与作业提交
Flink 的⽣产安全
模块七:Flink 问题排查与性能调优 (2h)
状态后端与RocksDB
反压分析
序列化调优
⽹络调优
差错处理与仅有⼀次语义
Checkpoint失败处理
程序修改与升级
数据倾斜
模块⼋:Flink 实战应⽤解析 (1.5h)
实战应⽤解析⼀:基于Flink+Kafka的实时数仓构建
实战应⽤解析⼆:基于Flink Table Store的流批⼀体系统构建