前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【译】A Deep-Dive into Flink's Network Stack(2)

【译】A Deep-Dive into Flink's Network Stack(2)

作者头像
yiduwangkai
发布2019-09-17 16:12:32
4670
发布2019-09-17 16:12:32
举报
文章被收录于专栏:大数据进阶大数据进阶

本篇翻译接上一篇

对于下图所示的示例,我们将假设4的并行性和具有两个任务管理器的部署,每个任务管理器提供2个插槽。 TaskManager 1执行子任务A.1,A.2,B.1和B.2,TaskManager 2执行子任务A.3,A.4,B.3和B.4。 在任务A和任务B之间的随机类型连接中,例如从keyBy(),在每个TaskManager上有2x4个逻辑连接,其中一些是本地的,一些是远程的:

不同任务之间的每个(远程)网络连接将在Flink的网络堆栈中获得自己的TCP通道。 但是,如果同一任务的不同子任务被安排到同一个TaskManager,则它们与同一个TaskManager的网络连接将被多路复用并共享一个TCP信道以减少资源使用。 在我们的例子中,这适用于A.1→B.3,A.1→B.4,以及A.2→B.3和A.2→B.4,如下图所示:

每个子任务的结果称为ResultPartition,每个子结果分成单独的ResultSubpartitions - 每个逻辑通道一个。 在堆栈的这一点上,Flink不再处理单个记录,而是将一组序列化记录组装到网络缓冲区中。 每个子任务可用于其自己的本地缓冲池中的缓冲区数量(每个发送方和接收方各一个)最多限制为一个

代码语言:javascript
复制
#channels * buffers-per-channel + floating-buffers-per-gate
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档