
书: https://pan.baidu.com/s/1jDVnfhmGRwu5jeEuV63Kcg?pwd=bmyj
笔记如下:
- Flink核心架构:分布式流处理框架,采用Master-Worker架构(JobManager与TaskManager)。
- 流批一体:统一DataStream API处理无界流(Streaming)与有界数据集(Batch)。
- 时间语义:事件时间(Event Time)、处理时间(Processing Time)、摄入时间(Ingestion Time)的区分与配置。
- 状态管理:Keyed State(键控状态)与Operator State(算子状态),支持Checkpoint持久化(FsStateBackend/RocksDB)。
- 精确一次(Exactly-Once):通过分布式快照(Chandy-Lamport算法)和两阶段提交(2PC)实现端到端一致性。
- 窗口计算:滚动窗口(Tumbling)、滑动窗口(Sliding)、会话窗口(Session)及自定义窗口逻辑。
- 水位线(Watermark):解决乱序事件,通过
assignTimestampsAndWatermarks
生成策略。 - CEP(复杂事件处理):
Pattern API
检测事件流中的复杂模式(如超时告警)。 - Table API & SQL:声明式编程,兼容ANSI SQL,与DataStream/DataSet无缝转换。
- Connector生态:Kafka(Source/Sink)、JDBC、HDFS、Elasticsearch等外部系统集成。
- 并行度与资源:设置Task Slot资源隔离,调整并行度(
setParallelism
)优化吞吐。 - 反压机制:基于信用(Credit-Based)的流量控制,避免系统过载。
- 容错恢复:Checkpoint间隔配置,Savepoint手动触发(用于版本升级/扩缩容)。
- 部署模式:Session/Per-Job/Application模式,适应不同集群管理(YARN/K8s/Standalone)。
- 性能调优:序列化优化(Kryo)、堆外内存管理、网络缓冲区大小调整。
- 监控与指标:通过Prometheus采集Metrics,Grafana可视化监控面板。
- Flink与AI集成:ML Pipeline支持在线模型推理(TensorFlow/PyTorch)。
- 状态后端选择:MemoryStateBackend(测试)、FsStateBackend(生产)、RocksDBStateBackend(超大状态)。
- 版本升级策略:状态兼容性检查(State Migration),避免数据丢失。
- 典型应用场景:实时风控、IoT数据处理、日志分析、电商实时大屏。