官术网_书友最值得收藏!

1.2 Flink的核心特性

在了解了Flink的定義以及常見應(yīng)用場景后,本節(jié)將介紹Flink作為大數(shù)據(jù)流處理引擎的5個(gè)核心特性,并從數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量兩個(gè)角度對比Apache Storm、Spark Streaming和Apache Flink的優(yōu)劣勢。

1.2.1 Flink的5個(gè)核心特性

1.真正的流處理引擎

在Flink的流處理模式下,F(xiàn)link處理數(shù)據(jù)的粒度是事件粒度或者說數(shù)據(jù)粒度,也就是來一條數(shù)據(jù)就處理一條數(shù)據(jù)。這個(gè)特性反饋到日常的業(yè)務(wù)中就是數(shù)據(jù)處理延遲極低,一般是毫秒級別,基于該特性,在實(shí)時(shí)大屏場景中,我們可以實(shí)現(xiàn)大屏指標(biāo)的快速更新。

2.強(qiáng)大性能的分布式計(jì)算引擎

Flink是分布式的計(jì)算引擎,處理數(shù)據(jù)的吞吐能力能夠輕松達(dá)到百萬、千萬級別QPS(Queries Per Second,每秒處理數(shù)據(jù)的條目)。Flink處理數(shù)據(jù)的吞吐量在很多場景下甚至可以做到和物理資源呈線性關(guān)系,因此在面對大流量數(shù)據(jù)時(shí),F(xiàn)link無所畏懼。

3.時(shí)間語義豐富的計(jì)算引擎

Flink預(yù)置了多種時(shí)間語義的API,包括事件時(shí)間、處理時(shí)間和攝入時(shí)間語義,我們可以通過這些預(yù)置API實(shí)現(xiàn)時(shí)間窗口上的高效數(shù)據(jù)處理。

4.高可用的有狀態(tài)計(jì)算引擎

Flink不但提供了豐富的狀態(tài)類型及狀態(tài)操作API,而且提供了Checkpoint、Savepoint這樣的快照機(jī)制來保障精確一次的數(shù)據(jù)處理,即使作業(yè)發(fā)生異常,我們也無須擔(dān)心數(shù)據(jù)丟失或者重復(fù)。同時(shí),F(xiàn)link支持TB級別的狀態(tài)數(shù)據(jù)存儲能力。

5.流批一體的計(jì)算引擎

Flink不僅是流處理的好手,目前在批處理方面也在大力發(fā)展,我們通過同一條SQL語句就可以同時(shí)完成流處理、批處理,這可以顯著降低開發(fā)、維護(hù)和資源使用的成本。

1.2.2 3種流處理引擎特性的對比

在學(xué)習(xí)流處理引擎相關(guān)的知識時(shí),除了Flink,一定繞不開Apache Storm、Spark Streaming,它們都是老牌流處理引擎,那么為什么Flink會后來居上呢?

我們以流處理場景中常用的兩個(gè)標(biāo)準(zhǔn)來看看這3個(gè)引擎各自的優(yōu)缺點(diǎn)。這兩個(gè)標(biāo)準(zhǔn)分別是數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量。

?數(shù)據(jù)處理延遲:流處理的核心要求是數(shù)據(jù)處理快,因此數(shù)據(jù)處理延遲是衡量流處理引擎優(yōu)劣的重要指標(biāo)。

?產(chǎn)出數(shù)據(jù)質(zhì)量:流處理作業(yè)一般都是7×24小時(shí)運(yùn)行的,這期間很難保證作業(yè)不發(fā)生故障,數(shù)據(jù)質(zhì)量主要指流處理作業(yè)在發(fā)生故障后,通過自身的異常容錯(cuò)功能是否能夠保證數(shù)據(jù)計(jì)算結(jié)果的準(zhǔn)確性。

表1-1是3種流處理引擎關(guān)于數(shù)據(jù)處理延遲、產(chǎn)出數(shù)據(jù)質(zhì)量的對比。

表1-1 3種流處理引擎關(guān)于數(shù)據(jù)處理延遲、產(chǎn)出數(shù)據(jù)質(zhì)量的對比

通過上述對比,我們可以看到相比其他兩個(gè)計(jì)算引擎Flink在數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量上都具有明顯的優(yōu)勢。

主站蜘蛛池模板: 武宁县| 嘉义市| 绥滨县| 高邑县| 嘉定区| 武威市| 天峻县| 靖安县| 务川| 文化| 岱山县| 乌鲁木齐市| 开化县| 彰化县| 榆林市| 剑阁县| 丹阳市| 武平县| 丹巴县| 磴口县| 湖口县| 焦作市| 秦安县| 新泰市| 唐山市| 当阳市| 江孜县| 水城县| 玉田县| 江山市| 原平市| 和林格尔县| 金乡县| 杨浦区| 饶阳县| 仁寿县| 松溪县| 保定市| 汉川市| 西城区| 玉龙|