01
课程导学
实时计算背景、Flink与Kafka生态定位、秒级延迟目标与挑战。
背景定位
02
环境准备
JDK、Maven、IDE、Docker、Kafka与Flink集群搭建。
搭建Docker
03
Kafka核心概念
Topic、Partition、Offset、Producer、Consumer、Broker。
架构分区
04
Flink核心概念
DataStream、Source、Transformation、Sink、JobManager、TaskManager。
运行时算子
05
Flink Kafka Connector
FlinkKafkaConsumer、FlinkKafkaProducer、反序列化器。
连接器序列化
06
第一个集成程序
读取Kafka消息并打印到控制台。
快速开始Demo
07
消息序列化与反序列化
JSON、Avro、Protobuf在Flink与Kafka中的实践。
AvroProtobuf
08
时间语义与Watermark
EventTime、ProcessingTime、IngestionTime、Watermark生成策略。
事件时间水位线
09
精确一次语义
Kafka事务、Flink Checkpoint、两阶段提交Sink。
Exactly-Once事务
10
Checkpoint与状态后端
RocksDB、FsStateBackend、增量Checkpoint配置。
状态后端增量
11
端到端延迟分析
瓶颈定位、背压监控、网络与磁盘IO优化。
调优背压
12
并行度与分区策略
Kafka分区与Flink并行度对齐、rebalance与rescale。
并行度分区
13
动态分区发现
实时感知Kafka新增分区并自动分配。
动态发现
14
多Topic订阅与路由
正则匹配Topic、根据消息内容动态分流。
路由正则
15
窗口聚合实战
Tumbling、Sliding、Session窗口在实时指标计算中的应用。
窗口聚合
16
状态编程
ValueState、ListState、MapState、BroadcastState实战。
状态广播
17
异步IO与外部存储
AsyncIO连接Redis/MySQL,避免同步阻塞。
异步Redis
18
侧输出流
处理迟到数据、异常数据分流与重试机制。
侧输出迟到
19
定时服务与事件驱动
KeyedProcessFunction实现自定义告警逻辑。
定时器告警
20
Table API与SQL集成
使用Flink SQL直接查询Kafka流。
SQLTable API
21
CDC实时同步
Debezium + Kafka + Flink实现MySQL Binlog实时入湖。
CDCBinlog
22
监控与告警
Prometheus + Grafana监控Flink作业延迟与吞吐。
监控Grafana
23
作业调优
内存配置、网络缓冲、Task Slot与资源隔离。
调优资源
24
容错与恢复
Savepoint、从指定Offset恢复、Exactly-Once保证。
容错Savepoint
25
生产环境部署
YARN、Kubernetes、Standalone模式对比与选型。
部署K8s
26
压力测试与性能基准
使用Kafka Producer模拟高吞吐、观察Flink反压。
压测反压
27
常见坑与避障
序列化异常、Offset提交失败、Checkpoint超时。
避坑异常
28
案例实战1:实时用户行为分析
PV/UV、转化漏斗。
用户分析漏斗
29
案例实战2:实时风控系统
交易异常检测、规则引擎。
风控规则引擎
30
课程总结与进阶路线
Flink生态扩展、未来趋势与学习建议。
总结进阶