Flink反压机制

网络流控的概念与背景

1.为什么需要网络流控

在这里插入图片描述
如果 Receive Buffer 是有界的,这时候新到达的数据就只能被丢弃掉了。
如果 Receive Buffer 是无界的,Receive Buffer 会持续的扩张,最终会导致 Consumer 的内存耗尽

2.网络流控的实现:静态限速

在这里插入图片描述
我们在Producer端实现一个静态限流,Producer经过限流器流量降低到和Consumer端相同,这样的话 Producer 端的发送速率跟 Consumer 端的处理速率就可以匹配起来了,就不会导致上述问题。但是这个解决方案有两点限制:
1.事先无法预估 Consumer 到底能承受多大的速率;
2.Consumer 的承受能力通常会动态地波动。

3.网络流控的实现:动态反馈/自动反压

在这里插入图片描述
我们需要Consumer及时的给Producer做一个feedback,告知Producer能够承受的速率是多少(flink的反压就采用动态反馈)。
动态反馈分为两种:
1.负反馈:接受速率小于发送速率时发生,告知 Producer 降低发送速率;
2正反馈:发送速率小于接收速率时发生,告知 Producer 可以把发送速率提上来。

Flink反压机制

TCP流控机制

TCP 包的格式结构,有 Sequence number 这样一个机制给每个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值