唯品會實時平臺架構-Flink、Spark、Storm

目前在唯品會實時平臺並不是一個統一的計算框架,而是包括Storm,Spark,Flink在內的三個主要計算框架,這是由於歷史原因形成。

實時平臺的職責主要包括實時計算平臺和實時基礎數據。實時計算平臺在Storm、Spark、Flink等計算框架的基礎上,為監控、穩定性提供了保障,為業務開發提供了數據的輸入與輸出。實時基礎數據包含對上游埋點的定義和規範化,對用戶行為數據、MySQL的Binlog日誌等數據進行清洗、打寬等處理,為下游提供質量保證的數據。

唯品會實時平臺架構-Flink、Spark、Storm


在架構設計上,包括兩大數據源。一種是在App、微信、H5等應用上的埋點數據,原始數據收集後發送到在kafka中;另一種是線上實時數據的MySQL Binlog日誌。數據在計算框架裡面做清洗關聯,把原始的數據通過實時ETL為下游的業務應用(包括離線寬表等)提供更易於使用的數據。

以UV計算為例,首先對Kafka內的埋點數據進行清洗,然後與Redis數據進行關聯,關聯好的數據寫入Kafka中;後續Flink計算任務消費Kafka的關聯數據。通常任務的計算結果的量也很大(由於計算維度和指標特別多,可以達到上千萬),數據輸出通過也是通過Kafka作為緩衝,最終使用同步任務同步到HBase中,作為實時數據展示。

同步任務會對寫入HBase的數據限流和同類型的指標合併,保護HBase。與此同時還有另一路計算方案作為容災。

唯品會實時平臺架構-Flink、Spark、Storm

原文鏈接:

Apache Flink 在唯品會的實踐

https://www.iteblog.com/archives/2415.html


分享到:


相關文章: