自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Apache Flink的四個(gè)理由,你知道幾個(gè)?

開(kāi)發(fā) 架構(gòu)
對(duì)Flink來(lái)說(shuō),Kafka也是一個(gè)同樣好的匹配。與ActiveMQ、RabbitMQ或PubSub等其他消息系統(tǒng)相比,Kafka為Flink提供持久且無(wú)限的數(shù)據(jù)存儲(chǔ)。此外,Kafka允許多個(gè)消費(fèi)者同時(shí)讀取流并按需倒帶。第一個(gè)屬性補(bǔ)充了Flink的分布式處理范式,第二個(gè)對(duì)Flink的容錯(cuò)機(jī)制至關(guān)重要。

Apache Kafka已經(jīng)成為企業(yè)內(nèi)流式數(shù)據(jù)傳輸?shù)氖走x平臺(tái)。但如果數(shù)據(jù)可以被清洗、豐富后為下游更多應(yīng)用提供服務(wù),那么流式處理就更有價(jià)值。這就是流處理的作用。

譯自 4 Reasons Why Developers Should Use Apache Flink 。

流處理允許你持續(xù)消費(fèi)數(shù)據(jù)流,用額外的業(yè)務(wù)邏輯處理數(shù)據(jù),并將其轉(zhuǎn)化為新的流,以便其他人可以在自己的應(yīng)用中重復(fù)使用。其應(yīng)用范圍廣泛,包括實(shí)時(shí)控制面板、機(jī)器學(xué)習(xí)模型、物化視圖,以及事件驅(qū)動(dòng)的應(yīng)用和微服務(wù)。

圖片圖片

流處理用額外的業(yè)務(wù)邏輯增強(qiáng)數(shù)據(jù)流,將其轉(zhuǎn)化為新的可重復(fù)使用的數(shù)據(jù)流,以供下游應(yīng)用和流水線使用。

處理邏輯的復(fù)雜度因具體應(yīng)用場(chǎng)景而異,范圍從簡(jiǎn)單的過(guò)濾和聚合,到更復(fù)雜的多路時(shí)間關(guān)聯(lián)和任意事件驅(qū)動(dòng)邏輯。因此,與其他選項(xiàng)(如定期批處理、ELT、經(jīng)典兩層架構(gòu))相比,流處理的優(yōu)勢(shì)因情況而異。

盡管如此,推動(dòng)采用流處理的關(guān)鍵因素通常屬于以下一個(gè)或多個(gè)類(lèi)別:

  • 延遲: 流處理大大縮短事件發(fā)生和反映在產(chǎn)品或用戶(hù)體驗(yàn)中的時(shí)間,無(wú)論是控制面板、機(jī)器學(xué)習(xí)模型還是其他應(yīng)用。
  • 創(chuàng)新和重用性: 流處理將數(shù)據(jù)產(chǎn)品轉(zhuǎn)化為可共享的資產(chǎn),可供下游應(yīng)用和系統(tǒng)消費(fèi)和構(gòu)建。數(shù)據(jù)流成為可重用的構(gòu)建塊,具有明確定義和一致的訪問(wèn)方式,使其他團(tuán)隊(duì)可以輕松在新產(chǎn)品和應(yīng)用中使用。
  • 成本和資源效率: 持續(xù)處理可隨時(shí)間分配工作,提高資源利用率。此外,上游處理(如預(yù)聚合、會(huì)話等)極大地減少下游系統(tǒng)(如數(shù)據(jù)倉(cāng)庫(kù)、實(shí)時(shí)分析數(shù)據(jù)庫(kù)等)的成本,并加速其查詢(xún)。
  • 表達(dá)性: 生活不會(huì)分批次發(fā)生。與定期批處理不同,流處理不會(huì)在數(shù)據(jù)中引入人為邊界,從而影響處理邏輯。

Flink是最活躍的Apache項(xiàng)目之一,提供了流處理和批處理的統(tǒng)一框架。像Uber、Netflix、LinkedIn這樣的數(shù)字化先鋒公司使用Flink,傳統(tǒng)企業(yè)如高盛和Comcast也在使用。

Flink也擁有大型且活躍的貢獻(xiàn)者社區(qū),其中包括Apple和阿里巴巴等公司的支持,這有助于保證持續(xù)創(chuàng)新。因此,F(xiàn)link的采用速度與Kafka早期階段相當(dāng)。

圖片圖片

Flink的增長(zhǎng)速度與Kafka生命周期相同階段基本相當(dāng)。

下面是公司選擇Flink而非其他流處理技術(shù)的四大常見(jiàn)原因:

第一: 它是一個(gè)強(qiáng)大的執(zhí)行引擎

Flink擁有強(qiáng)大的運(yùn)行時(shí),具有卓越的資源優(yōu)化、高吞吐量與低延遲以及可靠的狀態(tài)處理。具體來(lái)說(shuō),運(yùn)行時(shí)可以:

  • 實(shí)現(xiàn)每秒數(shù)千萬(wàn)條記錄的持續(xù)吞吐量
  • 大規(guī)模下保持亞秒級(jí)延遲
  • 跨系統(tǒng)邊界保證端到端的恰好一次處理
  • 即使在故障和無(wú)序事件下也能計(jì)算出正確結(jié)果
  • 管理和在錯(cuò)誤時(shí)恢復(fù)高達(dá)數(shù)十TB的狀態(tài)

Flink可根據(jù)用例配置各種工作負(fù)載,包括流處理、批處理或兩者的混合。

第二: 兼容多種API和語(yǔ)言

Flink提供了四種不同的API,可滿足不同用戶(hù)和應(yīng)用需求。Flink還支持多種編程語(yǔ)言,包括Python、Java和SQL。

圖片圖片

Flink提供了多層次的API,抽象級(jí)別不同,既可處理常見(jiàn)用例,也可處理不太常見(jiàn)的用例。

適用于Java和Python的DataStream API通過(guò)鏈接FlatMap、Filter、Process等轉(zhuǎn)換函數(shù)創(chuàng)建數(shù)據(jù)流圖。在這些用戶(hù)定義函數(shù)中,你可以訪問(wèn)狀態(tài)流處理器的基本組件,如狀態(tài)、時(shí)間和事件。這讓你可以細(xì)粒度控制記錄在系統(tǒng)中的流動(dòng)以及讀寫(xiě)和更新應(yīng)用狀態(tài)。如果你熟悉Kafka Streams DSL和Kafka Processor API,使用體驗(yàn)會(huì)很熟悉。

Table API是Flink更現(xiàn)代的聲明式API。它允許你用連接、過(guò)濾、聚合、投影等關(guān)系操作以及各種用戶(hù)定義函數(shù)編寫(xiě)程序。與DataStream API類(lèi)似,Table API支持Java和Python。使用此API開(kāi)發(fā)的程序會(huì)進(jìn)行類(lèi)似Flink SQL查詢(xún)的優(yōu)化,與SQL共享若干特性,如類(lèi)型系統(tǒng)、內(nèi)置函數(shù)和驗(yàn)證層。該API與Spark Structured Streaming、Spark DataFrame API和Snowpark DataFrame API有相似處,不過(guò)那些API更側(cè)重微批和批處理而非流處理。

基于與Table API相同的底層架構(gòu),F(xiàn)link SQL是遵循ANSI標(biāo)準(zhǔn)的SQL引擎,可處理實(shí)時(shí)和歷史數(shù)據(jù)。Flink SQL使用Apache Calcite進(jìn)行查詢(xún)規(guī)劃和優(yōu)化。它支持任意嵌套子查詢(xún),廣泛的語(yǔ)言支持包括各種流連接和模式匹配,擁有廣泛的生態(tài)系統(tǒng),包括JDBC驅(qū)動(dòng)程序、目錄和交互式SQL Shell。

最后是“Stateful Functions”,它簡(jiǎn)化了狀態(tài)化分布式事件驅(qū)動(dòng)應(yīng)用的創(chuàng)建。這是Flink項(xiàng)目下的一個(gè)獨(dú)立子項(xiàng)目,與Flink的其他API很不相同。Stateful Functions可以理解為一個(gè)基于Flink運(yùn)行時(shí)的狀態(tài)化、容錯(cuò)的分布式Actor系統(tǒng)。

廣泛的API選擇使Flink成為流處理的理想選擇,隨著需求和用例的演變,你可以隨時(shí)間混合使用不同的API。

第三: 流處理和批處理融合

Apache Flink統(tǒng)一了流處理和批處理,因?yàn)槠渲饕狝PI(SQL、Table API和DataStream API)同時(shí)支持有界數(shù)據(jù)集和無(wú)界數(shù)據(jù)流。具體來(lái)說(shuō),你可以根據(jù)正在處理的數(shù)據(jù)性質(zhì),以批處理或流處理模式運(yùn)行相同程序。你甚至可以讓系統(tǒng)為你選擇處理模式。

  • 只有有界數(shù)據(jù)源 → 批處理模式
  • 至少一個(gè)無(wú)界數(shù)據(jù)源 → 流處理模式

圖片圖片

Flink可以在同一平臺(tái)上統(tǒng)一流處理和批處理。

流批處理的統(tǒng)一為開(kāi)發(fā)者帶來(lái)實(shí)實(shí)在在的好處:

  • 在實(shí)時(shí)和歷史數(shù)據(jù)處理場(chǎng)景提供一致語(yǔ)義
  • 在實(shí)時(shí)和歷史數(shù)據(jù)處理應(yīng)用間復(fù)用代碼、邏輯和基礎(chǔ)設(shè)施
  • 在單一應(yīng)用中組合歷史和實(shí)時(shí)數(shù)據(jù)處理

第四: 它已做好生產(chǎn)就緒準(zhǔn)備

Flink是一個(gè)成熟平臺(tái),在最苛刻的生產(chǎn)場(chǎng)景中經(jīng)受住了檢驗(yàn)。表現(xiàn)這一點(diǎn)的特性包括:

  • 開(kāi)箱即用地與Datadog、Prometheus等工具集成的指標(biāo)系統(tǒng),也可與自定義解決方案集成
  • 通過(guò)Flink Web UI進(jìn)行全面的可觀測(cè)性、故障排查和調(diào)試支持,包括回壓監(jiān)控、火焰圖和線程轉(zhuǎn)儲(chǔ)
  • 保存點(diǎn),允許你在保持恰好一次語(yǔ)義的前提下,狀態(tài)式擴(kuò)展、升級(jí)、分叉、備份和遷移應(yīng)用

Flink和Kafka: 強(qiáng)大組合

Flink和Kafka經(jīng)常一起使用,事實(shí)上Kafka是Flink最熱門(mén)的連接器。兩者高度兼容,在許多方面Kafka推動(dòng)了Flink的廣泛采用。

需注意,F(xiàn)link本身不存儲(chǔ)任何數(shù)據(jù),它對(duì)其他地方存儲(chǔ)的數(shù)據(jù)進(jìn)行操作。可以把Flink視為Kafka的計(jì)算層,為實(shí)時(shí)應(yīng)用和流水線提供支持,而Kafka是流數(shù)據(jù)的基礎(chǔ)存儲(chǔ)層。

圖片圖片

在數(shù)據(jù)流堆棧中,F(xiàn)link處理計(jì)算需求,Kafka提供存儲(chǔ)層。

隨時(shí)間推移,F(xiàn)link在支持Kafka應(yīng)用方面越來(lái)越嫻熟。它可以將Kafka用作數(shù)據(jù)源和數(shù)據(jù)匯,利用Kafka豐富的生態(tài)系統(tǒng)和工具。Flink還原生支持熱門(mén)的數(shù)據(jù)格式,包括Avro、JSON和Protobuf。

對(duì)Flink來(lái)說(shuō),Kafka也是一個(gè)同樣好的匹配。與ActiveMQ、RabbitMQ或PubSub等其他消息系統(tǒng)相比,Kafka為Flink提供持久且無(wú)限的數(shù)據(jù)存儲(chǔ)。此外,Kafka允許多個(gè)消費(fèi)者同時(shí)讀取流并按需倒帶。第一個(gè)屬性補(bǔ)充了Flink的分布式處理范式,第二個(gè)對(duì)Flink的容錯(cuò)機(jī)制至關(guān)重要。

渴望更多了解Flink?

想深入了解的話,可以在Confluent Developer網(wǎng)站的Flink 101課程或這個(gè)Apache Flink培訓(xùn)中動(dòng)手實(shí)踐。

責(zé)任編輯:武曉燕 來(lái)源: 云云眾生s
相關(guān)推薦

2020-06-04 08:15:53

Kubernetes容器PaaS

2021-08-10 08:01:08

Synchronize鎖膨脹鎖消除

2022-06-30 08:31:54

排序函數(shù)SQL

2023-04-11 08:49:42

排序函數(shù)SQL

2024-01-18 07:46:53

HookReact回調(diào)函數(shù)

2010-10-15 10:52:04

跳槽

2018-04-26 09:03:48

ApacheWeb服務(wù)器

2022-10-28 12:10:03

云計(jì)算企業(yè)

2017-07-31 08:47:58

2023-11-23 10:21:37

2016-04-21 16:02:16

SwiftAndroid編程

2019-07-18 11:58:27

安全分析師SOC網(wǎng)絡(luò)安全

2023-05-24 06:56:18

實(shí)用AI工具

2025-02-27 08:33:13

2021-07-20 22:56:03

手機(jī)軟件iPhone

2017-05-16 11:09:56

2009-03-11 08:38:18

RIM黑莓移動(dòng)操作系統(tǒng)

2009-07-08 16:25:15

Scala的特點(diǎn)類(lèi)型推斷

2010-08-10 09:34:14

FlexBlazeDS

2023-05-17 09:07:58

IT項(xiàng)目標(biāo)準(zhǔn)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)