如何解决NiFi负载平衡策略可实现更高的吞吐量和更低的IO
对于在集群NiFi实例上运行的数据流,在配置处理器之间的连接时,我有两种选择。
假设三个处理器A,B,C
选项1:
Run Throttled events
OR
选项2:
A -> Round Robin -> B -> Round Robin -> 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。