实现更高吞吐量和更低IO的NiFi负载平衡策略



对于在集群NiFi实例上运行的数据流,在配置处理器之间的连接时,我有两个选择。

假设三个处理器A、B、C

选项1:

A -> Round Robin  -> B -> Round Robin -> C

选项2:

A -> Round Robin  -> B  -> C

考虑到我的工作混合了小型(几KB(和大型(几MB(流文件,选择选项2会更好吗?由于在选项2中,我们通过不在节点之间再次分发流文件来减少网络IO。或者选项1,其中负载在所有三个处理器的节点之间晚间分布。

目前,我可以测量吞吐量,但没有测量IO的方法,因此出现了这个问题。

感谢

它主要取决于所使用的处理器。

如果你的处理器B是1:1,即:对于一个数据流,你有或多或少相同的输出大小和相同数量的流文件,你应该选择选项2

A -> Round Robin  -> B  -> C

然而,如果你的处理器是1:X,并且它依赖于流文件(例如,拆分流文件内容和添加信息(,你可以选择一台机器,让它比其他机器有更多的工作要做,所以可以考虑使用选项1:进行循环

A -> Round Robin  -> B -> Round Robin -> C

最新更新