flink消费kafka限制消费速率

flink版本1.14 别的版本类似

需要速率限制的情况

1.任务异常在停止的时间内大量数据挤压

2.新任务上线需要铺底数据,消费几天前的数据

在不增加内存和并行度的情况下,如果任务启动可能会造成oom,这时需要进行速率限制。

前提

漏桶算法(Leaky Bucket Algorithm):

  1. 原理: 漏桶算法的原理类似于一个物理上的漏桶。数据请求被看作水滴,这些水滴被放入一个固定容量的漏桶中。漏桶以固定的速率漏水,当水满时,多余的水滴会被溢出丢弃。因此,漏桶算法对流量进行了平滑处理。

  2. 工作方式: 请求被放入漏桶,以固定的速率从桶中漏出,如果请求过来的速率过快,桶就会溢出,溢出的请求将被丢弃或进行特殊处理。

  3. 优点: 简单、直观,可以平滑突发流量。

令牌桶算法(Token Bucket Algorithm):

  1. 原理: 令牌桶算法使用一个令牌桶来控制请求的发送速率。桶中以固定速率产生令牌,每个令牌代表一个允许通过的请求。当请求到达时,如果有足够的令牌,请求被允许通过,并且一个令牌被消耗;否则,请求被缓存或拒绝。

你可能感兴趣的:(flink,flink,kafka,大数据)