Flink任務統一通過實時平台統一管理的好處不用多說,這里簡單介紹下實時平台-Flink模塊的功能以及實現。
主要分為兩大塊
一、任務管理
任務管理主要包括任務的提交、暫停、下線、重啟、歷史版本回滾、checkpoint/savepoint管理、監控信息以及任務自動拉起等功能。運行的每個任務信息(AppId,JobId等)都會被保存起來,所以,任務重啟的時候可以很輕松的根據自己的業務需求選擇從哪個任務的哪個CheckPoint開始啟動。
二、任務保障
任務保障主要從三個方面入手
1.Flink應用程序日志
從事過Java應用開發的人員一定知道,應用中的日志對於任務運行狀況、錯誤排查有着至關重要的作用,對於Flink分布式應用來說,如果能將日志和Java應用一樣輸出,那絕對可以減少很多排查問題的時間和縮短獲取任務異常的時間,具體實現可以參考這篇文章
2.監控Kafka Group Lag和Status
大部分應用都是消費Kafka消息,對於消費組的堆積情況和運行狀況預警是很有必要的,這里開發人員可以根據Topic的QPS和CheckPoint時間進行預估兩次提交大概會有多大的Lag,然后進行設置Lag超過多大的閾值進行企微和郵件告警,必要的可以電話告警,主要分為信息的采集和平台告警兩部分,具體實現可以參考這篇文章
3.Flink任務監控信息
主要是通過Flink自帶的Metrics系統將信息寫入到Influxdb,如何配置可以參考 這篇文章