999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Flink實時預警功能的實現

2023-08-27 15:36:03韋統邊吳江波蘇德張亮韋通明
汽車電器 2023年8期
關鍵詞:大數據

韋統邊 吳江波 蘇德 張亮 韋通明

【摘? 要】隨著各行業業務系統的復雜化和大數據時代的來臨,企業對數據實時性的要求也越來越高。本文著重分析數據實時的重要性,不同實時預警功能系統的技術對比,結合企業業務確認架構設計和實現方式,主要對采取基于Flink流處理框架對實時預警功能系統的實現展開敘述和總結。

【關鍵詞】大數據;架構;實時;Flink;預警

中圖分類號:U463.6? ? 文獻標志碼:A? ? 文章編號:1003-8639( 2023 )08-0049-02

Implementation of Real-time Warning Function Based on Flink

WEI Tong-bian,WU Jiang-bo,SU De,ZHANG Liang,WEI Tong-ming

(SAIC GM Wuling Automobile Co.,Ltd .,Guangxi Laboratory of New Energy Automobile,

Guangxi Key Laboratory of Automobile Four New Features,Liuzhou 545007,China)

【Abstract】With the complexity of business systems in various industries and the advent of the era of big data,enterprises have higher and higher requirements for real-time data. This paper focuses on the importance of real-time data,the technical comparison of different real-time early warning function systems,combined with the design and implementation of enterprise business confirmation architecture,and mainly describes and summarizes the implementation of real-time early warning function system based on Flink flow processing framework.

【Key words】big data;framework;real time;Flink;early warning

隨著步入大數據時代和各個行業業務系統的復雜化,面臨海量數據的分析計算,同樣,數據的采集處理和存儲如何及時預警信息也具有巨大的挑戰。比如在汽車行業,數據由之前的離線分析逐步轉為實時分析,在一些場景下,數據的實時分析更能夠增加用戶的體驗感,提高數據的價值和減少風險的發生。為了全面提高用戶體驗以及系統的預測性,建立實時的預警功能系統是十分有必要的。

1? 預警實現方案介紹

基于大數據技術的廣泛使用,特別是目前比較流行的分布式框架和實時計算框架,如Flink[1]、Spark[2]計算平臺逐步完善,目前多數企業采用的是Kafka和Flink技術來開發實時預警系統。Flink實現上傳數據處理,提升數據處理速度,提高告警的及時性,但是有些傳統的告警系統卻不好修改版本代碼。

結合主流的預警系統實現技術,大概分為4種方案:一是基于Flink實現預警,數據的上傳方式是傳統的,Flink流計算框架對數據進行處理分析,得到中間結果,然后與原先設定好的閾值比較,符合條件則發送告警信息;二是基于Flink SQL語法實現配置的動態更新,顯示在可視化的實時系統中,但是結合預警功能比較難開發;三是使用Kafka作為消息中間件,Flink消費不同的主題topic以及對數據進行處理和過濾,并將結果寫入Redis[3],Prometheus讀取Redis數據,Grafana基于Prometheus實現圖表的展示;四是基于Flink CEP實現預警功能系統開發。

預警功能系統一般包含日志采集、解析聚合、監控和預警。日志采集指的是將日志和指標統一化、集中化地收集;解析聚合是使用Flink作業解析聚合平臺所有的作業指標數據,展示給用戶以及下游業務使用;監控和預警,對于聚合完成了的指標,做預警規則的配置。大致流程圖如圖1所示。

本文采用Canal、Kafka、Flink、Flink SQL、Redis、Grafana、Prometheus技術結合來實現預警功能系統的開發,實現靈活配置和動態更新。基本的實現思路是利用Canal采集原始數據,通過自定義程序將數據放置在Kafka中的指定主題,Kafka作為消息中間件也作為Flink的數據源,Flink消費數據后通過數據的清洗過濾得到了初級的告警數據,然后結合指標通過二次過濾得到詳細的告警數據并放置在Redis中,Prometheus結合告警數據發送到不同應用上,其中,Grafana為告警系統提供管理控制平臺,便于告警信息的查詢和統計。

2? 預警功能系統的技術棧

2.1? Canal

Canal主要用途是基于MySQL數據庫增量日志解析,提供增量數據訂閱和消費,其工作原理如圖2所示。

Canal的工作原理就是把自己偽裝成MySQL slave,模擬MySQL slave的交互協議向MySQL Mater發送dump協議,MySQL Mater收到Canal發送過來的dump請求,開始推送binary log給Canal,然后Canal解析binary log,再發送到存儲目的地,比如MySQL、Kafka、Elastic Search等。

Canal優勢是對業務代碼沒有入侵,數據的同步也能做到準實時,可以實現與數據源一對多的關系,擁有web管理頁面,重要的是具備集群高可用特性,生產環境一般是Canal采集數據后將數據發送到消息隊列Kafka的topic中。

2.2? Kafka

Apache Kafka最初是由LinkedIn研發的一個分布式的發布-訂閱消息系統[4-5],為處理實時數據提供一個統一、高吞吐、低等待的平臺。

Kafka是一個分布式系統,由通過高性能TCP網絡協議進行通信的服務器和客戶端組成,可部署在內部以及云環境中的裸機硬件、虛擬機和容器上。Kafka集群可以在一個指定的時間內保存所有發布上來的消息,當超過指定的時間后消息就會被系統丟棄以釋放空間。Kafka的性能不會受數據量大小的影響,因此可以保存大量的數據。

Kafka適用的場景有日志收集,后通過統一接口方式提供給消費者;作為消息系統,將生產者和消費者進行代碼解耦;結合Flink做流式處理,實時場景的實現。

2.3? Flink和Flink SQL

Flink是一個針對流數據和批數據的分布式處理引擎[6-9],適用場景主要是流數據處理,會把所有任務當作流來處理。因此,Flink可以提供數據處理的通用方案,使得由相同或相關的組件和API搭建框架的處理需求得以簡化。同時,Flink可以支持本地快速迭代,可以定制化內存管理。所以,Flink的特點是處理大數據速度快,能滿足大數據背景下應用實時計算平臺的需求。Flink是一個真正的流式處理,其可以按照元組逐個分發數據,做到對數據的單條處理,而不需要再流處理匯總執行計算。其支持大規模計算能力,能夠在數千個節點上并發運行,具有強大的吞吐量和延遲特性,提供了數據分布、數據通信以及容錯機制等功能。同時,Flink提供多種靈活的窗口函數及更高抽象層的API,使開發者可以更便捷地編寫分布式任務。

Flink SQL是面向用戶的API層[10],是降低用戶使用實時計算門檻而設計的一套符合標準SQL語義的開發語言,開發者可以直接在代碼中書寫SQL實現一些查詢操作。Flink的SQL支持基本查詢語法,常見的算子包括SELECT、WHERE、DISTINCT、GROUP BY、UNION、UNION ALL、JOIN等。同時,Flink SQL提供大量的內置函數,常見的內置函數包括比較函數、邏輯函數、算術函數、字符串處理函數、時間函數,也支持使用者自定義函數實現其他計算。Flink實現了SQL標準的Apache Calcite(Apache開源SQL解析工具),語法易讀易書寫,開發者只需關注業務邏輯。而且Flink內置很多優化規則,簡化了研發的復雜度,通過SQL能在高層應用上實現真正的批流一體。

2.4? Redis

Redis是一款完全開源且高性能的key-value數據庫,基于內存的數據庫,速度快,而且支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。

Redis具有性能極高、數據類型豐富、原子性、特性豐富、單線程等特點,適用于數據的高并發讀寫、海量數據的讀寫等場景。

2.5? Grafana

Grafana是用于可視化大型測量數據的開源程序,提供了強大和優雅的方式去創建、共享、瀏覽數據。dashboard中顯示了不同metric數據源中的數據一般是配合時序數據庫做數據展示的,支持的數據源有:Graphite、InfluxDB、OpenTSDB、Prometheus、Elasticsearch、CloudWatch、Zabbix等。Grafana與Zabbix、Prometheus有一定的技術差異,在于Grafana主要功能是展示數據,并不能用于監控預警,因此,Grafana需要結合Zabbix、Prometheus等工具一起使用,以實現整個數據的預警、顯示功能。

2.6? Prometheus

Prometheus是一套開源的系統監控報警框架。它受啟發于Google的Brogmon監控系統,由工作在SoundCloud的前Google員工在2012年創建,作為社區開源項目進行開發,并于2015年正式發布。Grafana是數據可視化工具,也可以做數據監控和數據統計,帶有告警功能,流程如圖3所示。圖中,Flink App:需要監控的數據來源;Prometheus:收集數據;Pushgateway:Prometheus生態中的組件,Pushgateway服務收集Flink的指標;Grafana:進行可視化展示。

3? 預警系統的整體設計和實現

為了滿足預警的實時更新、不同數據源的讀取,大數據監控預警系統在文中采用的方案是:Canal+Kafka+Flink+Flink SQL+Redis+Grafana+Prometheus。該系統由數據采集模塊、數據存儲模塊、數據處理模塊、預警推送模塊、管理平臺模塊5大模塊組成。

數據采集模塊通過高可用的Canal日志采集工具對mysql中的原始數據進行采集,將數據進行業務邏輯清洗,整理所需字段,放置到消息存儲中間件Kafka的主題中。

數據處理模塊作為預警系統的核心,Flink從消息中間件Kafka讀取數據,從Redis中讀取Flink SQL過濾數據,將數據存入Redis,同時根據閾值條件判斷是否達到預警條件。

預警推送模塊將預警數據結合預警消息模版生成的可讀性預警信息,通過調用應用API將預警信息發送到該應用系統中。

數據存儲模塊用于將推送的消息進行存儲至Redis,便于后期歷史預警信息的查詢、分析統計,也是Grafana管理頁面所展示的數據來源。

管理平臺模塊用于管理數據處理模塊腳本、預警推送模塊推送的歷史信息。

4? 結語

本文提出的基于Canal+Kafka+Flink+Flink SQL+Grafana+Prometheus實現預警功能的系統開發,解決了預警信息的靈活配置和及時發送等問題。Canal能夠實現數據快速且完整的采集,Kafka能夠實現高吞吐、低延遲的功能,Flink能夠實現億單位級別的實時處理,Flink SQL能夠實現減少預警消息變更和代碼的耦合度,Prometheus能夠實現預警消息的推送,再結合Grafana的展示,滿足了預警功能系統的業務需求,增強了系統的預警能力,保證了預警的及時性,提升了平臺的運行效率。

參考文獻:

[1] MIKA P. Flink:semantic web technology for the extraction and analysis of social networks[J]. Journal of Web Semantics,2005,3(2):211-223.

[2] ZAHARIA M,CHOWDHURY M,FRANKLIN M J,et al. Spark:cluster computing with working sets[C]//Proceedings of the 2nd USENIX conference on hot topics in cloud compu-ting. Boston,MA:[s.n.],2010.

[3] 張俊,廖雪花,余旭玲,等. 關系型數據庫內存化存儲模型研究[J]. 計算機工程與應用,2021,57(19):123-128.

[4] 吳璨,王小寧,肖海力,等. 分布式消息系統研究綜述[J]. 計算機工程與應用,2019,46(6A):1-5,34.

[5] 徐晶,許煒. 消息中間件綜述[J]. 計算機工程與應用,2005,31(16):73-76.

[6] 李梓楊,于炯,卞琛,等. 基于負載感知的數據流動態負載均衡策略[J]. 計算機應用,2017,37(10):2760-2766,2772.

[7] 代明竹,高嵩峰. 基于Hadoop、Spark及Flink大規模數據分析的性能評價[J]. 中國電子科學研究院學報,2028,13(2):149-155.

[8] 李梓楊,于炯,卞琛,等. 基于流網絡的Flink平臺彈性資源調度策略[J]. 通信學報,2019,40(8):85-101.

[9] 汪志峰,趙宇海,王國仁. 異構Flink集群中負載均衡算法研究與實現[J]. 南京大學學報(自然科學),2021,57(1):110-120.

[10] 王玉真. 基于Flink的實時計算平臺的設計與實現[D]. 南昌:南昌大學,2020.

(編輯? 楊? 景)

作者簡介

韋統邊(1991—),男,工程師,研究方向為大數據開發。

猜你喜歡
大數據
基于在線教育的大數據研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯網+”農產品物流業的大數據策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數據的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數據時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 美女免费精品高清毛片在线视| 精品国产Av电影无码久久久| 国产乱人乱偷精品视频a人人澡| 亚卅精品无码久久毛片乌克兰| 国产免费羞羞视频| 亚洲精品第1页| 在线视频亚洲色图| 99这里精品| 国产91无毒不卡在线观看| 亚洲AV无码一区二区三区牲色| AⅤ色综合久久天堂AV色综合 | 国产精品手机在线观看你懂的| 欧美综合区自拍亚洲综合绿色| 欧美日韩国产精品综合| 欧美综合区自拍亚洲综合绿色 | 97se亚洲| 久久 午夜福利 张柏芝| 亚洲成人网在线播放| 国产美女一级毛片| 欧美性久久久久| 乱人伦视频中文字幕在线| 中美日韩在线网免费毛片视频| 国产三级韩国三级理| 亚洲国模精品一区| 国产成人一区| 日韩无码黄色| h视频在线观看网站| 精品人妻AV区| 少妇高潮惨叫久久久久久| 欧美色99| 性色一区| 欧美第二区| 亚洲制服中文字幕一区二区| 亚洲国产天堂在线观看| 亚洲欧美成人在线视频| 狠狠色香婷婷久久亚洲精品| 国产日产欧美精品| 日韩福利在线观看| 狠狠色噜噜狠狠狠狠奇米777| 欧美不卡二区| 国产精品妖精视频| 亚洲浓毛av| 日韩视频福利| 高清码无在线看| 亚洲国产黄色| 日韩精品一区二区深田咏美| 亚洲欧美自拍中文| 亚洲成a人片77777在线播放| 国产精品亚洲欧美日韩久久| 欧美性猛交xxxx乱大交极品| 91精品专区| 亚洲系列中文字幕一区二区| 中文字幕日韩视频欧美一区| 成人国产小视频| 亚洲精品桃花岛av在线| 亚洲国产清纯| 国产色爱av资源综合区| 亚洲日韩精品伊甸| 成人精品午夜福利在线播放| 播五月综合| 国产69精品久久久久孕妇大杂乱 | 最新国产精品第1页| 影音先锋丝袜制服| 99re视频在线| 久久亚洲国产一区二区| 伊人大杳蕉中文无码| 真实国产精品vr专区| 黄色国产在线| 国产99欧美精品久久精品久久| 亚洲美女高潮久久久久久久| 国产精品jizz在线观看软件| 亚洲中文字幕在线一区播放| 亚洲AV无码乱码在线观看裸奔| 亚洲精品成人福利在线电影| 久久男人视频| 亚洲黄色视频在线观看一区| 成人福利免费在线观看| 国内精品久久久久鸭| а∨天堂一区中文字幕| 精品国产Ⅴ无码大片在线观看81| 91午夜福利在线观看| 亚洲国产日韩欧美在线|