wordpress mohtmlseo搜索引擎優(yōu)化方案
概述
特性
概念
數(shù)據(jù)流
狀態(tài)
時(shí)間
savepoint
故障容錯(cuò)
運(yùn)維部署
部署應(yīng)用到任意地方
Flink能夠更方便地升級(jí)、遷移、暫停、恢復(fù)應(yīng)用服務(wù)
監(jiān)控和控制應(yīng)用服務(wù)
運(yùn)行任意規(guī)模應(yīng)用
應(yīng)用場(chǎng)景
事件驅(qū)動(dòng)型應(yīng)用
什么是事件驅(qū)動(dòng)型應(yīng)用?
事件驅(qū)動(dòng)型應(yīng)用的優(yōu)勢(shì)
Flink如何支持事件驅(qū)動(dòng)型應(yīng)用?
典型的事件驅(qū)動(dòng)型應(yīng)用
數(shù)據(jù)分析型應(yīng)用
什么是數(shù)據(jù)分析應(yīng)用?
流式分析應(yīng)用的優(yōu)勢(shì)?
Flink如何支持?jǐn)?shù)據(jù)分析類應(yīng)用?
典型的數(shù)據(jù)分析型應(yīng)用實(shí)例
數(shù)據(jù)管道應(yīng)用
什么是數(shù)據(jù)管道應(yīng)用?
數(shù)據(jù)管道優(yōu)勢(shì)?
Flink如何支持?jǐn)?shù)據(jù)管道應(yīng)用?
典型的數(shù)據(jù)管道應(yīng)用
概述
Flink 是一個(gè)框架和分布式處理引擎,用于在無(wú)邊界和有邊界數(shù)據(jù)流上進(jìn)行有狀態(tài)計(jì)算的框架,F(xiàn)link 自底向上在不同的抽象級(jí)別提供了多種 API,并且針對(duì)常見(jiàn)的使用場(chǎng)景開(kāi)發(fā)了專用的擴(kuò)展庫(kù)。Flink能所有常見(jiàn)的集群環(huán)境中運(yùn)行,并能以內(nèi)存速度和任意規(guī)模進(jìn)行計(jì)算。
特性
- 正確性保證:通過(guò)Exactly-once狀態(tài)一致性、事件時(shí)間處理和成熟的遲到數(shù)據(jù)處理機(jī)制保證結(jié)果的正確性。
- 分層API:SQL分別處理流和批、DataStream API & DataSetAPI 和 ProcessFunction(time & state)
- 聚焦運(yùn)維:靈活部署、高可用、保存點(diǎn)
- 大規(guī)模計(jì)算:水平擴(kuò)展架構(gòu)、支持超大狀態(tài)、增量檢查點(diǎn)機(jī)制
- 性能卓越:低延遲、高吞吐、內(nèi)存計(jì)算
概念
數(shù)據(jù)流
流是流處理的基礎(chǔ),其特征影響處理方式。Flink是強(qiáng)大的數(shù)據(jù)流處理框架。
- 有界 和 無(wú)界 的數(shù)據(jù)流:數(shù)據(jù)流分為有界和無(wú)界。Flink擅長(zhǎng)處理兩者,對(duì)無(wú)界流有強(qiáng)大特性,對(duì)有界流有高效算子。
- 實(shí)時(shí) 和 歷史記錄 的數(shù)據(jù)流:數(shù)據(jù)流分實(shí)時(shí)和歷史記錄兩種。實(shí)時(shí)處理即在數(shù)據(jù)生成時(shí)立即進(jìn)行;歷史記錄處理則是先將數(shù)據(jù)流存儲(chǔ)后再批處理。Flink能同時(shí)支持這兩種數(shù)據(jù)流的處理。
狀態(tài)
簡(jiǎn)單來(lái)說(shuō),復(fù)雜流處理應(yīng)用通常需要狀態(tài)管理。這意味著它們需要在某個(gè)時(shí)間點(diǎn)存儲(chǔ)接收的事件或中間結(jié)果,以便后續(xù)處理時(shí)使用。即使是最基本的業(yè)務(wù)邏輯,也可能需要在特定時(shí)間內(nèi)保留這些信息。
Flink提供了許多狀態(tài)管理相關(guān)的狀態(tài)支持,其中包括:
- 多種狀態(tài)基礎(chǔ)類型:Flink為不同數(shù)據(jù)結(jié)構(gòu)提供狀態(tài)基礎(chǔ)類型,如原子值(value)、列表(list)和映射(map),開(kāi)發(fā)者可根據(jù)訪問(wèn)方式選擇最適合的類型。
- 插件化的State Backend:State Backend管理應(yīng)用狀態(tài),支持checkpoint。Flink有多種存儲(chǔ)方式,如內(nèi)存和RocksDB,也支持自定義存儲(chǔ)。
- 精確一次語(yǔ)義:Flink 的 checkpoint 和故障恢復(fù)算法保證了故障發(fā)生后應(yīng)用狀態(tài)的一致性。因此,F(xiàn)link 能夠在應(yīng)用程序發(fā)生故障時(shí),對(duì)應(yīng)用程序透明,不造成正確性的影響。
- 超大數(shù)據(jù)量狀態(tài):Flink 能夠利用其異步以及增量式的 checkpoint 算法,存儲(chǔ)數(shù) TB 級(jí)別的應(yīng)用狀態(tài)。
- 可彈性伸縮的應(yīng)用:Flink 能夠通過(guò)在更多或更少的工作節(jié)點(diǎn)上對(duì)狀態(tài)進(jìn)行重新分布,支持有狀態(tài)應(yīng)用的分布式的橫向伸縮。
時(shí)間
時(shí)間是流處理應(yīng)用另一個(gè)重要的組成部分。因?yàn)槭录偸窃谔囟〞r(shí)間點(diǎn)發(fā)生,所以大多數(shù)的事件流都擁有事件本身所固有的時(shí)間語(yǔ)義。進(jìn)一步而言,許多常見(jiàn)的流計(jì)算都基于時(shí)間語(yǔ)義,例如窗口聚合、會(huì)話計(jì)算、模式檢測(cè)和基于時(shí)間的 join。流處理的一個(gè)重要方面是應(yīng)用程序如何衡量時(shí)間,即區(qū)分事件時(shí)間(event-time)和處理時(shí)間(processing-time)。
Flink提供了豐富的時(shí)間語(yǔ)義支持。
- 事件時(shí)間模式:使用事件時(shí)間語(yǔ)義的流處理應(yīng)用根據(jù)事件本身自帶的時(shí)間戳進(jìn)行結(jié)果的計(jì)算。因此,無(wú)論處理的是歷史記錄的事件還是實(shí)時(shí)的事件,事件時(shí)間模式的處理總能保證結(jié)果的準(zhǔn)確性和一致性。
- Watermark支持: