東莞美食網(wǎng)站建設(shè)報(bào)價(jià)承德網(wǎng)絡(luò)推廣
flink版本1.14 別的版本類似
需要速率限制的情況
1.任務(wù)異常在停止的時(shí)間內(nèi)大量數(shù)據(jù)擠壓
2.新任務(wù)上線需要鋪底數(shù)據(jù),消費(fèi)幾天前的數(shù)據(jù)
在不增加內(nèi)存和并行度的情況下,如果任務(wù)啟動(dòng)可能會(huì)造成oom,這時(shí)需要進(jìn)行速率限制。
前提
漏桶算法(Leaky Bucket Algorithm):
-
原理: 漏桶算法的原理類似于一個(gè)物理上的漏桶。數(shù)據(jù)請(qǐng)求被看作水滴,這些水滴被放入一個(gè)固定容量的漏桶中。漏桶以固定的速率漏水,當(dāng)水滿時(shí),多余的水滴會(huì)被溢出丟棄。因此,漏桶算法對(duì)流量進(jìn)行了平滑處理。
-
工作方式: 請(qǐng)求被放入漏桶,以固定的速率從桶中漏出,如果請(qǐng)求過來的速率過快,桶就會(huì)溢出,溢出的請(qǐng)求將被丟棄或進(jìn)行特殊處理。
-
優(yōu)點(diǎn): 簡單、直觀,可以平滑突發(fā)流量。
令牌桶算法(Token Bucket Algorithm):
-
原理: 令牌桶算法使用一個(gè)令牌桶來控制請(qǐng)求的發(fā)送速率。桶中以固定速率產(chǎn)生令牌,每個(gè)令牌代表一個(gè)允許通過的請(qǐng)求。當(dāng)請(qǐng)求到達(dá)時(shí),如果有足夠的令牌,請(qǐng)求被允許通過,并且一個(gè)令牌被消耗;否則,請(qǐng)求被緩存或拒絕。
</