flink - 反压

http://wuchong.me/blog/2016/04/26/flink-internals-how-to-handle-backpressure/

https://ci.apache.org/projects/flink/flink-docs-master/internals/back_pressure_monitoring.html

 

反压之所以会是需要的,因为当源端流量过大,而消费端无法及时消费时,可能会导致job crash;比如内存耗尽等;

其实通过合理控制资源的使用,JStorm也可以做到自然反压的

spout pending队列是可以配置的,只有当record被ack,才会发送新的record,也可以达到流控的目的

Flink没有实现特别的反压逻辑,是因为对于flink而言,每层的buffer是可控的,是一个固定大小的bufferpool,当buffer用完时,发送端自然会停止发送,达到限流的目的,从而防止资源耗尽

上一篇:[转载]面向对象设计(OOD)思想(C#)


下一篇:Apache Flink任意Jar包上传导致远程代码执行漏洞复现