Flink 中的数据传输 -5

用户头像
小知识点
关注
发布于: 2020 年 08 月 23 日
Flink中的数据传输-5

TaskManager负责将数据从发送任务传输到接收任务,记录并非逐个发送,而是在缓冲区中以批次形式逐渐发送。该技术有效利用网络资源、实现高吞吐的基础,

注意:将记录放入缓冲并不意味着Flink处理模型是基于微批处理



1.接收和发送在不同TaskManager

(1)每个TaskManager都有一个用于收发数据的网络缓冲池

(2)每个缓冲池默认32KB

(3)如果发送端和接收端运行在不同TaskManager上,就需要进行通信

(4)流式应用需要以流水线方式交换数据

(5)每对TaskManager之间要维护一个或多个永久TCP连接来执行交换数据

(6)在Shuffle连接模式下,每个发送端任务都需要向任意一个接收任务传输

(7)对于每个接收任务,TaskManager都要提供一个专用的网络缓冲区,用于接收其它任务发来的数据

(8)为了使得流水线式的数据交换,TaskManager必须提供足够多的缓存区来同时服务所有进出链接。



2.接收和发送在同一TaskManager

(1)发送端:发送任务会将要发送的任务序列化到缓冲区中,当缓冲区占满后,就将数据放入队列

(2)接收端:接收端会从队列中获取数据,并将数据进行反序列化

(3)同一TaskManager内不同任务之间数据传输不会涉及到网络通信



用户头像

小知识点

关注

奇迹的出现往往就在再坚持一下的时候! 2018.04.02 加入

还未添加个人简介

评论

发布
暂无评论
Flink中的数据传输-5