天天看點

雲原生+微服務,實作「DataFlux」快速傳遞!

DataFlux 是由駐雲最新重磅打造一款實時大資料分析平台,可以通過對任何來源、類型、規模的實時資料進行監控、分析和處理,釋放資料價值。

雲原生+微服務,實作「DataFlux」快速傳遞!

為什麼說是“實時”?

因為是實時的資料采集,通過自研的資料網關,實時打入 InfluxDB 時序資料庫,依托于 InfluxDB 時序資料庫的強大查詢分析能力,實時資料分析展示。

為什麼說是“統一”?

萬物皆資料,資料皆可被采集。企業内,從員工考勤資料到 IT 裝置資料,從客戶關系資料到銷售資料,從市場外部大環境資料到企業内部管理資料等,皆可彙聚,進行統一綜合分析,提升資料價值。

五大硬核元件

  • 資料采集器:目前支援200多種資料的采集,還在大量開發擴充中。
  • 資料網關:資料的核心功能子產品,采用 golang 語言開發,高效處理資料,并且有消息隊列保障資料的可靠性與一緻性。
  • DataFlux Studio:強大的場景建構能力,豐富的圖表元件,随心所欲展示資料。
    雲原生+微服務,實作「DataFlux」快速傳遞!
  • 函數開發平台:賦予使用者無限擴充能力,可基于 Python 編寫資料處理函數,簡便易入手。與 DataFlux Studio緊密結合,進行資料預測分析,并且内置大量官方函數,也可以配合其他應用,作為其他應用的資料來源。
  • 強大的實時預警能力:可配置多名額實時檢測,支援多種預警行為輸出途徑。

如何實作快速傳遞

DataFlux 強大的功能背後是運作着的幾十個應用服務,這些應用服務如何穩定且高效有序運作,并且能夠快速部署與持續傳遞,原因之一是 DataFlux 完全基于雲原生的微服務架構。

PS:雲原生是一種理念和應用傳遞模式,是一套技術體系和方法論,它充分發揮和利用雲計算模型的優勢建構和運作可彈性擴充的應用。雲原生的三大特征:微服務化、容器化、動态管理。

雲原生+微服務,實作「DataFlux」快速傳遞!

容器技術為基礎,發揮資源最大力量

整個DataFlux 核心後面是運作着的幾十個微服務,實作了使用不同開發語言開發、不同環境要求的應用服務在一個伺服器上運作;搭配Kubernetes技術,動态資源編排與排程,最大化利用伺服器資源。

但是如果隻有 Kubernetes,我們還是無法快速的完成一套産品的傳遞,因為幾十個應用服務需要手工建立和配置,也是一個巨大的工作量,那麼如何解決這一個問題對于快速傳遞來說就至關重要。

自研工具,實作1+1>2

Kubernetes 可以使用 YAML語言去描述所有類型的資源,如 pvc、deployment、service、ingress、confiogmap等,再利用 kubectl (kubernetes 的指令行用戶端工具)執行這些 YAML 檔案的應用,去建立或修改資源。

雲原生+微服務,實作「DataFlux」快速傳遞!

正是利用這一點,我們開發了一個DataFlux 的安裝配置工具 Launcher,在準備好硬體資源的情況下,可以做到10分鐘完成整個應用的部署與配置。整個安裝過程變得非常簡單,根據 Launcher 的引導步驟,完成MySQL資料庫、Redis、InfluxDB 等資訊的輸入,Launcher 根據使用者輸入的資訊,自動完成資料庫表結構的初始化有及資料的初始化,并且根據準備好的模闆自動生成Kubernetes 的 YAML資源描述檔案,以及 DataFlux 的服務應用配置檔案,然後利用 kubectl 指令行工具執行 YAML 檔案的導入。