網(wǎng)易云音樂基于 Flink + Kafka 的實時數(shù)倉建設(shè)實踐
背景
Flink + Kafka 平臺化設(shè)計
Kafka 在實時數(shù)倉中的應(yīng)用
問題 & 改進(jìn)
一、背景介紹

高吞吐,低延遲:每秒幾十萬 QPS 且毫秒級延遲;
高并發(fā):支持?jǐn)?shù)千客戶端同時讀寫;
容錯性,可高性:支持?jǐn)?shù)據(jù)備份,允許節(jié)點丟失;
可擴展性:支持熱擴展,不會影響當(dāng)前線上業(yè)務(wù)。
高吞吐,低延遲,高性能;
高度靈活的流式窗口;
狀態(tài)計算的 Exactly-once 語義;
輕量級的容錯機制;
支持 EventTime 及亂序事件;
流批統(tǒng)一引擎。

二、Flink+Kafka 平臺化設(shè)計
集群 catalog 化;
Topic 流表化;
Message Schema 化。


三、Kafka 在實時數(shù)倉中的應(yīng)用

雖然進(jìn)行了集群的擴展,但是任務(wù)量也在增加,Kafka 集群壓力仍然不斷上升;
集群壓力上升有時候出現(xiàn) I/O 相關(guān)問題,消費任務(wù)之間容易相互影響;
用戶消費不同的 Topic 過程沒有中間數(shù)據(jù)的落地,容易造成重復(fù)消費;
任務(wù)遷移 Kafka 困難。
如何感知 Kafka 集群狀態(tài)?
如何快速分析 Job 消費異常?
集群概況的監(jiān)控:可以看到不同集群對應(yīng)的 Topic 數(shù)量以及運行任務(wù)數(shù)量,以及每個 Topic 消費任務(wù)數(shù)據(jù)量、數(shù)據(jù)流入量、流入總量和平均每條數(shù)據(jù)大?。?/span>
指標(biāo)監(jiān)控:可以看到 Flink 任務(wù)以及對應(yīng)的 Topic、GroupID、所屬集群、啟動時間、輸入帶寬、InTPS、OutTPS、消費延遲以及 Lag 情況。
四、問題&改進(jìn)
多 Sink 下 Kafka Source 重復(fù)消費問題;
同交換機流量激增消費計算延遲問題。


五、Q & A
