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

什么是Flink網(wǎng)絡棧?

網(wǎng)絡 網(wǎng)絡管理
每個工作單元的輸出被稱作ResultPartition,每個ResultPartition又根據(jù)下游輸出結(jié)果的不同分區(qū)被細分為ResultSubPartition,與下游的inputChannel一一對應。

什么是Flink網(wǎng)格線

Flink網(wǎng)絡棧是Flink中的核心組件,是flink-runtime模塊的一部分。它連接了所有TaskManager中獨立的工作單元(subtask)。這是數(shù)據(jù)交換的核心部分,任務的吞吐量和延遲都與它息息相關,可以說Flink的網(wǎng)絡棧決定了Flink框架本身性能的好壞。

不同于TaskManager、JobManager之間通信所使用的Akka RPC框架,F(xiàn)link網(wǎng)絡棧采用了更底層的網(wǎng)絡API,使用的是Netty框架。

它抽象了以下三個概念的不同設置。

(1)Subtask output type (ResultPartitionType):工作單元的輸出類型。

  • pipelined (bounded or unbounded):上游一產(chǎn)生數(shù)據(jù),就一條條地往下游發(fā)送,作為有界或無界的數(shù)據(jù)流。
  • blocking:直到上游的全部結(jié)果就緒才向下游發(fā)送數(shù)據(jù)。

(2)Scheduling type

  • all at once (eager):同時部署所有的工作單元(流式應用采用這種模式)。
  • next stage on first output (lazy):當上游的生產(chǎn)者開始有輸出結(jié)果的時候,才開始部署下游的工作單元,是一種lazy模式。
  • next stage on complete output:在上游的數(shù)據(jù)全部就緒之后才開始部署下游的工作單元。

(3)Transport?

  • high throughput:不采用一條條地發(fā)送數(shù)據(jù)的模式,F(xiàn)link緩存一批數(shù)據(jù)到網(wǎng)絡緩存中,攢批發(fā)送。這種方式減少了網(wǎng)絡開銷的單條邊際成本,帶來了高吞吐量。
  • low latency via buffer timeout:通過調(diào)低發(fā)送數(shù)據(jù)的間隔,犧牲一定的吞吐量以獲得更低的延遲。

工作單元的輸出類型和調(diào)度類型是緊密交織在一起的,兩者的特定組合才有效。Pipelined result partition是流式的輸出,流式輸出需要將數(shù)據(jù)發(fā)送到一個正在工作的工作單元,因此目標任務就需要在上游結(jié)果下發(fā)之前或者在任務啟動之初完成部署。批作業(yè)產(chǎn)出有限的結(jié)果,而流式作業(yè)產(chǎn)出無限的結(jié)果。

為了理解真實的數(shù)據(jù)流轉(zhuǎn),我們假想一個有4個并發(fā)的任務,部署在兩個分別有2個Slot的TaskManager上。在Flink中,不同的任務可能會共享同一個Slot, 通過Slot 共享組機制,一個TaskManager可以提供多個Slot來運行一個任務的多個工作單元。

TaskManager 1 運行工作單元A.1、A.2、B.1 和 B.2, 而TaskManager 2 運行工作單元A.3、A.4、B.3和B.4。假設A和B之間的shuffle方式是keyBy(), 這樣在每一個TaskManager上都有2×4個邏輯連接,有些走本地傳輸,有些是通過網(wǎng)絡傳輸,如圖1所示。

圖片

▲圖1 工作單元部署

不同任務之間的每個(遠程)網(wǎng)絡連接都將在Flink網(wǎng)絡棧中獲得自己的TCP通道,如果同一個任務的不同工作單元被調(diào)度到同一個TaskManager上,那么它們將復用TCP連接用于連接遠程TM(多路復用)。在我們的例子中,A.1 → B.3、A.1 → B.4 以及A.2 → B.3、A.2 → B.4將會復用一個TCP連接,如圖2所示。

圖片

▲圖2 數(shù)據(jù)交換

每個工作單元的輸出被稱作ResultPartition,每個ResultPartition又根據(jù)下游輸出結(jié)果的不同分區(qū)被細分為ResultSubPartition,與下游的inputChannel一一對應。在這個階段,F(xiàn)link已經(jīng)不再單獨處理每條記錄了,而是將一組序列化完的數(shù)據(jù)打包并復制到NetworkBuffer中,然后經(jīng)由Netty傳輸?shù)较掠嗡阕印?/p>

本文摘編于《Flink技術(shù)內(nèi)幕:架構(gòu)設計與實現(xiàn)原理》,經(jīng)出版方授權(quán)發(fā)布。(書號:9787111696292)轉(zhuǎn)載請保留文章來源。?

責任編輯:武曉燕 來源: 數(shù)倉寶貝庫
相關推薦

2023-08-09 09:30:10

數(shù)組結(jié)構(gòu)left )

2019-06-28 14:31:03

網(wǎng)絡協(xié)議棧Flink數(shù)據(jù)

2023-05-25 15:20:48

云計算

2022-02-25 16:18:06

OverlayUnderlay網(wǎng)絡設備

2022-04-11 18:21:13

云網(wǎng)絡網(wǎng)絡

2022-05-19 13:38:58

云網(wǎng)絡云計算網(wǎng)絡

2010-09-09 15:37:59

什么是網(wǎng)絡協(xié)議

2010-06-09 14:12:39

網(wǎng)絡協(xié)議套件

2010-09-09 21:10:22

2018-02-23 14:30:13

2023-09-21 00:05:09

2021-07-20 10:49:39

NaaS網(wǎng)絡服務

2024-04-10 10:26:48

2022-11-23 10:41:06

2022-01-05 08:01:26

主動網(wǎng)絡安全網(wǎng)絡安全攻擊

2023-11-29 16:02:29

光纖網(wǎng)絡

2022-08-05 20:17:44

算力網(wǎng)絡計算與網(wǎng)絡

2022-08-18 11:07:17

網(wǎng)絡人工智能AI

2024-02-05 11:09:57

點贊
收藏

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