■现代ApacheNiFi负载平衡,你了解多少?


全文共2008字 , 预计学习时长6分钟
■现代ApacheNiFi负载平衡,你了解多少?
本文插图

图源:Unsplash
观察这些在Apache NiFi(版本1.8.0 ^)中执行负载平衡的最新方法 ,, 你会发现 , 这些方法现在使远程进程组已过时 。
如今在Apache NiFi中 , 有一种经过改进的新方法 , 用于平衡集群节点之间的数据负载 。 随着NiFi1.8.0的引入 , 连接负载平衡添加在所有连接中的处理器 。 现在有易于设置的选项 , 可以在节点之间自动进行负载平衡 。
使用emoteProcess Groups在ApacheNiFi节点之间分配负载已经过时了 。 想要获得最高的灵活性、简便性和最好的性能 , 请确保升级现有流 , 使用内置的“连接负载平衡” 。
如果运行的是Apache NiFi或Cloudera Flow Management (CFM)的较新版本 , 可以采用更好的方法在处理器和服务器之间分配处理 。 这适用于ApacheNiFi1.8.0和更高版本 , 包括最新版本1.10.0 。
请注意:负载平衡不再需要Remote Process Groups!使用实际的负载平衡连接!RemoteProcess Groups只用于分发到其他集群 。

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

Apache NiFi中的负载平衡
首先 , 我们简单了解一下Apache NiFi 。
Apache NiFi是基于流程编程概念的数据流系统 。 它支持强大且可扩展的数据路由 , 转换和系统中介逻辑的有向图 。
NiFi具有基于Web的用户界面 , 用于设计 , 控制 , 反馈和监控数据流 。 它在服务质量的几个方面具有高度可配置性 , 例如容错与保证交付 , 低延迟与高吞吐量以及基于优先级的排队 。 NiFi为所有接收 , 分叉 , 加入克隆 , 修改 , 发送和最终在达到其配置的最终状态时丢弃的数据提供细粒度数据来源 。

■现代ApacheNiFi负载平衡,你了解多少?
本文插图
【■现代ApacheNiFi负载平衡,你了解多少?】

Apache NiFi负载平衡
自2018年以来 , Apache NiFi已经成为很棒的功能 。

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

配置连接
有一些负载平衡的选项 , 比如说“Round Robin” , 它允许在出现故障时将数据重新平衡到另一个节点 。 它根据流文件的大小 , 每秒重新平衡数千个流文件 。 这样做使得节点有机会重新连接 , 并继续处理 。

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

负载平衡循环

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

数据分配策略
另一种选择是“按属性划分”和“单节点” , 它们将对数据进行排队 , 直到单个节点或分区节点返回为止 。 但为了便于移植 , 无法选择集群中的哪个节点执行此处理 。
因为需要动态性和弹性 , 所以它只需要是一个节点 。 允许将“相似数据”发送到集群中的同一个节点 , 这对于某些用例可能是必要的 。
对于表加载用例中的合并 , 使用自定义属性名称路由很奏效 。 还可以选择根本不进行负载均衡 。

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

图源:Unsplash

■现代ApacheNiFi负载平衡,你了解多少?
本文插图

Apache NiFi的弹性扩展
NiFi新增了一个重要的新特性 , 允许节点停用并断开与集群的连接 , 并卸载所有数据 。 这对于Kubernetes和弹性的动态缩放很重要 。


推荐阅读