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用完时,发送端自然会停止发送,达到限流的目的,从而防止资源耗尽

原文地址:https://www.cnblogs.com/fxjwind/p/5733121.html