自定义处理器和背压、节流

Custom processor and backpressuring, throttling

NiFi 1.2.0

有一个自定义处理器可以从数据库中读取数据并将其进一步传递。在最近的一次压力测试中,'success' 关系队列被阻塞,并且由于处理器转储了数十万个数 GB 的流文件,因此后来的流也被阻塞。显然,backpressuring was not implemented. I also read an informative post 关于节流和背压。

我发现背压是我们在关系队列中配置的东西,ControlRate 等标准处理器可以帮助调节数据流。

问题:

处理器中是否需要额外的编码(例如:要实现的某些接口)以使其能够 'sleep/stop consuming data' 用于背压或 NiFi 框架是否处理,一旦 'success' 关系处理器配置为背压

无需额外编码。 NiFi 框架为您管理背压,并在施加背压时停止调用您的处理器。