当前位置: 首页 > news >正文

优化网站建设公司网站推广优化外包公司哪家好

优化网站建设公司,网站推广优化外包公司哪家好,企业建立自己的网站,登封市城乡建设路网站文章目录知识点反压CheckpointBarrierAligned CheckpointUnaligned Checkpoint核心思想实现原理UC同步阶段UC异步阶段知识点 反压 反压是流式系统中关于处理能力的动态反馈机制,并且是从下游到上游的反馈,一般是在实时数据处理的过程中,上游…

文章目录

      • 知识点
        • 反压
        • Checkpoint
        • Barrier
      • Aligned Checkpoint
      • Unaligned Checkpoint
        • 核心思想
        • 实现原理
          • UC同步阶段
          • UC异步阶段

知识点

反压

反压是流式系统中关于处理能力的动态反馈机制,并且是从下游到上游的反馈,一般是在实时数据处理的过程中,上游节点的生产速度大于下游节点的消费速度。在Flink中,反压主要有两个部分:跨TaskManager的反压过程和TaskManager内的反压过程。

https://blog.csdn.net/Stray_Lambs/article/details/120578294

Checkpoint

Flink 借助Checkpoint机制来保证有状态的分布式计算

所谓Checkpoint,就是周期性的进行Snapshot的过程

当算子Failover的时候,通过快照恢复算子的状态,

Flink的Checkpoint是基于Chandy-Lamport(CL)算法改进的

ps:
Spark中Shuffle是划分Stage的边界,每个Shuffle阶段数据会进行分区、排序、聚合、写入磁盘等操作,自然的进行了状态的保存。所以Spark中无复杂的Checkpoint机制。

Barrier

先说明一下barrier这个概念
以一定的间隔被插入到Source节点,经过若干个算子,不断的向下游传递。

当barrier到达算子的时候,触发Snapshot,当前算子的状态保存完毕后,传递到下一个算子。

当一个算子对应多个输入时,也就意味着这个算子会接收到多个barrier,此时为了保证全局一致性,那么就需要对齐多个输入的barrier,这个就是Aligned Checkpoint

Aligned Checkpoint

存在的问题:

  1. 对齐时间长,反压时被完全阻塞。
    原因:每条链路的处理速度是不一样的,barrier对齐需要时间,如果某一条链路有反压,会因为需要对齐这个过程,使得整个链路被阻塞,因为barrier没有对齐,为了保障数据一致性,checkpoint也无法进行,接下来Checkpoint超时失败,重新进行Checkpoint,但是由于反压仍然存在,最终陷入失败–重启–失败的循环

Unaligned Checkpoint

为了解决Aligned Checkpoint中存在的反压严重时Checkpoint失败的问题

提出了Unaligned Checkpoint

核心思想

允许Barrier超越ongoing data(正在进行的数据,在buffer中,还没有进入task的数据,比如下图中蓝色的2、3、4、5),barrier超越了这些数据,那如果算子Failover的话,这些数据不就丢失了,解决的方法是,将这些数据也进行快照,在Failover时重放这部分数据。

barrier1顺利超越ongoing data,进入到task中,算子收到全部task后开始进行snapshot

在这里插入图片描述

实现原理

在这里插入图片描述
假设当前task的上游并行度为3,下游并行度为2,如上图所示,task有3个输入和两个输出,矩形表示buffer中的一条一条数据

Unaligned Checkpoint 这里简称UC

整个UC分为UC同步阶段、UC异步阶段两部分

UC同步阶段

UC开始后,task的3个input-buffer会陆续收到上游发送的barrier,如图所示input-buffer1收到了barrier1,其它的input-buffer还没有收到barrier,当某一个input-buffer接收到barrier时,task会直接开始UC的第一阶段,即UC同步阶段。

这个阶段只需要三个input-buffer中任意一个buffer的barrier进入到task的网络缓冲内存中,task就会直接开始UC,不用等其它的Input-buffer接收到barrier,也不需要处理完input-buffer1接收到barrier1之前的数据。

Flink 网络缓冲区
https://www.jianshu.com/p/cfbb0cf69ae3

UC同步阶段:barrier超越ongoing data
如下图,可以看到barrier超越了input-buffer和output-buffer中的所有数据,到达下游output-buffer的头部,被快速的传递给下游的task,这也解释了为什么在反压情况下UC可以成功
在这里插入图片描述
从task层面来看,barrier可以在task内部实现快速超车
从Job层面来看,如果每一个task内部,barrier都可以快速超车,那么barrier就可以从source task快速的超车到Sink task

为了保证数据一致性,UC同步阶段,task不能处理数据

UC同步阶段的四个主要流程

  1. barrier超车,当算子的某个input-buffer接收到barrier时,超越ongoing data,快速的将其传递到output-buffer的头部,保证其可以快速到达下游算子
  2. buffer引用,对buffer进行引用,这里不进行snapshot,真正的快照在UC异步阶段进行
  3. 调用task的SnapshotState方法
  4. StateBackend同步快照
UC异步阶段

UC同步阶段完成后,task继续处理数据,同时进行UC的第二个阶段,barrier对齐和UC异步阶段。

首先异步阶段要快照同步阶段所有引用的input-buffer和output-buffer以及同步阶段算子内部引用的State

在这里插入图片描述
UC异步阶段其实也有barrier对齐,当task开始UC的时候,很多input-buffer没有接收到barrier,这些input-buffer之前可能还有一些buffer需要快照,例如上图的绿色数据块,所以UC异步阶段要等到所有的input-buffer barrier都到达,且barrier之前的所有buffer都需要快照,这就是UC异步阶段的barrier对齐

这个对齐过程理论上会很快,因为链路中的每一个task,barrier都可以快速的超越所有input-buffer、output-buffer,优先传递barrier到下游task。

异步阶段需要写三部分数据到DFS,分别是UC同步阶段引用的算子内部的State、同步阶段引用的所有input-buffer和output-buffer、以及其它input-buffer barrier之前的buffer

这三部分数据写完之后,task会将结果汇报到TaskManager。

资料:
Flink Unaligned Checkpoint 在 Shopee 的优化和实践

http://www.dinnco.com/news/34244.html

相关文章:

  • oa网站建设百度账户代运营
  • 网站建设论坛各大网站收录提交入口
  • 没有官方网站怎么做seo优化怎样进行关键词推广
  • wordpress建站侵权网站报价
  • 长沙优化网站技术厂家百度今日小说排行榜
  • 网站建设全包世界足球排名前十名
  • 做网站好一点的软件线上推广的优势和好处
  • 网站建设的软件知识有哪些内容seo是哪个英文的简写
  • 深圳网站建设是什么石家庄网络seo推广
  • 外贸网站如何做seo行业数据统计网站
  • 青州哪里做网站厦门网站关键词推广
  • 重庆网站建设jwzcq站长工具seo综合查询访问
  • 深圳沙头角网站建设成都优化官网公司
  • 有没有做线播放网站网络优化报告
  • 高端自适应网站开发上海公司排名
  • wordpress无法连接ftp优化网络的软件下载
  • 网站硬件建设百度官网客服
  • wordpress企业主题 视频教程seo外链在线提交工具
  • 北京app开发制作济南网站优化公司排名
  • 做网站一个月多少钱网络推广求职招聘交流群
  • 廊坊哪里有制作手机网站的网络推广怎么收费
  • 中山做网站哪家专业seo工具包
  • 周口市住房和城乡建设局门户网站百度指数查询工具app
  • 桂林网站制作百度风云榜游戏
  • wordpress主页分栏seo关键词优化培训
  • 水滴保险官方网站seo站长论坛
  • 单页面网站 wordpress网络优化有前途吗
  • 工作室网站设计百度网盘搜索入口
  • wordpress怎样显示文章全部列表肥城市区seo关键词排名
  • 宝安做棋牌网站建设哪家服务好今日头条十大热点