【課程內容】
第1章 為何選擇Flink
1.1 流處理欠佳的后果
1.1.1 零售業和市場營銷
1.1.2 物聯網
1.1.3 電信業
1.1.4 銀行和金融業
1.2 連續事件處理的目標
1.3 流處理技術的演變
1.4 初探Flink
1.5 生產環境中的Flink
1.5.1 布衣格電信
1.5.2 其他案例
1.6 Flink的適用場景
第2章 流處理架構
2.1 傳統架構與流處理架構
2.2 消息傳輸層和流處理層
2.3 消息傳輸層的理想功能
2.3.1 兼具高性能和持久性
2.3.3 將生產者和消費者解耦
2.4 支持微服務架構的流數據
2.4.1 數據流作為中心數據源
2.4.2 欺詐檢測:流處理架構用例
2.4.3 給開發人員帶來的靈活性
2.5 不限于實時應用程序
2.6 流的跨地域復制
第3章 Flink的用途
3.1 不同類型的正確性
3.1.1 符合產生數據的自然規律
3.1.2 事件時間
3.1.3 發生故障后仍保持準確
3.1.4 及時給出所需結果
3.1.5 使開發和運維更輕松
3.2 分階段采用Flink
第4章 對時間的處理
4.1 采用批處理架構和Lambda架構計數
4.2 采用流處理架構計數
4.3 時間概念
4.4 窗口
4.4.1 時間窗口
4.4.2 計數窗口
4.4.3 會話窗口
4.4.4 觸發器
4.4.5 窗口的實現
4.5 時空穿梭
4.6 水印
4.7 真實案例:愛立信公司的Kappa架構
第5章 有狀態的計算
5.1 一致性
5.2 檢查點:保證exactly-once
5.3 保存點:狀態版本控制
5.4 端到端的一致性和作為數據庫的流處理
5.5 Flink的性能
5.5.1 Yahoo!Streaming Benchmark
5.5.2 變化1:使用Flink的狀態
5.5.3 變化2:改進數據生成器并增加吞吐量
5.5.4 變化3:消除網絡瓶頸
5.5.5 變化4:使用MapR Streams
5.5.6 變化5:增加Key基數
5.6 結論
第6章 批處理:一種特殊的流處理
6.1 批處理基數
6.2 案例研究:Flink作為批處理器