Understanding more about nifi connection load balancer with back pressure

Viewed 61

I'm trying to test the nifi connection load balancer set to round-robin with a backpressure of two. Having a heterogeneous set of edge devices, that have different compute capacities takes different time to complete a set of tasks.

Processors in nifi are something like this

[flowfile generated and kept in a queue]---> [some processor] ---> [queue with lb | backpressure 2] ---> [Processor group]

The ones in bold are set to run on just the primary node. And the processor group has multiple compute intensive processors, in which all the queues have a back pressure of 2.

Now when i run the flowfile generator, queues in the processor group gets filled up. Thus applying back pressure to the queue with LB.

Expectation: As and when the queues of each worker gets freed up the load balancer, balances the flowfile to that queue. As round robin in NIFI is more of next available load balancer. So as the workers have unequal compute capacities, I'm expecting the flowfile distribution to be unequal i.e proportional to the compute capacity.

Observation: For a static count of flowfile generated I'm seeing an even flowfile distribution. The most powerful compute device stops receiving flowfiles after sometime and sits ideal.

Is my understanding about the load-balanced connection wrong?

Nifi version: 1.13.2 OS: ubuntu 18.04 on all the compute devices.

0 Answers
Related