Flink中的背压处理原理

什么原因导致背压?

流系统中消息的处理速度跟不上消息的发送速度,导致消息的堆积。如果系统能感知消息堆积,并调整消息发送的速度,使消息的处理速度和发送速度相协调就是有背压感知的系统。

背压如果不能得到正确地处理,可能会导致资源被耗尽或者甚至出现更糟的情况导致数据丢失。flink就是一个有背压感知的基于流的分布式消息处理系统。

如下图:
1、消息发送的太快,消息接受的太慢,产生消息拥堵。
2、发生消息拥堵后,系统会自动降低消息发送的速度。
在这里插入图片描述
举例说明:
正常情况下:消息处理速度>=消息的发送速度,不会发送消息拥堵,系统运行流畅
在这里插入图片描述
异常情况下:消息处理速度<消息的发送速度,发生消息堵塞,系统运行不流畅
在这里插入图片描述

消息拥堵可以采用两种方案:
1、将拥堵的消息直接删除,将导致数据丢失,在精确度要求高的场景非常不合适。
2、将拥堵的消息缓存起来,并告知消息发送者减缓消息发送的速度。

将消息缓存起来,并将缓冲区持久化,以方便在处理失败的情况下进行数据重复。有些source本身提供持久化机制,可以优先考虑。例如Kafka就是一个很不错的选择,

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘金超DT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值